Тема: Popup menu
Показать сообщение отдельно
  #8  
Старый 01.05.2010, 14:34
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

Проблему решил!!!! Спасибо всем за помощь. Оказывается если BorderStyle = bsNone, то форма этого меню не создает. Предлагаю свое решение если интересно.
Код:
...
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
 Params.Style:= Params.Style or WS_SYSMENU;
end;

...
 var lItem: LongWord;
       lMenu: HMenu;
...
 lMenu:= GetSystemMenu(Handle, false);
 lItem:= LongWord(Windows.TrackPopupMenu(lMenu, TPM_LEFTBUTTON or TPM_RIGHTBUTTON,
                       10, 10, 0, Handle, nil));
 if lItem > 0 then SendMessage(Handle, WM_SYSCOMMAND, lItem, 0);
...
Вот теперь все работает
__________________
APPLICATION.TERMINATOR
Ответить с цитированием