![]() |
|
|
#1
|
|||
|
|||
![]() Доброе время суток. Помню как то ранее задавался вопрос о системном меню. Предлагалось вызвать сообщение $313 но ничего не работает. Я имею в виду popup menu возникающее в заголовке окна при щелчке на иконку.
APPLICATION.TERMINATOR |
#2
|
||||
|
||||
![]() Вот пожалста..при нажатии на Button1 системное меню вылетит в координатах (100х100)
Код:
procedure TForm1.Button1Click(Sender: TObject); var LItem : LongWord; LMenu : HMENU; begin LMenu := GetSystemMenu(Handle,false); LItem := LongWord(Windows.TrackPopupMenu(LMenu, TPM_LEFTBUTTON or TPM_RIGHTBUTTON or TPM_RETURNCMD, 100, 100, 0 , Handle, nil)); if LItem>0 then SendMessage(Handle,WM_SYSCOMMAND,LItem,0); end; |
#3
|
|||
|
|||
![]() Что то не работает. Lmenu равен нулю. И никакого меню не появляется. Для справки у меня виста и д6.
APPLICATION.TERMINATOR |
#4
|
||||
|
||||
![]() У меня работает.
D7 Win-7 — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
|||
|
|||
![]() И что мне делать
APPLICATION.TERMINATOR |
#6
|
||||
|
||||
![]() У меня прекрасно работает. D6+XP
![]() Кстати, я не зря кинул ссылку на автора...почитайте обсуждение к этому решению, может что-нибудь вычитаете для себя. Там же предложено такое решение: SendMessage(Handle, 787, 0, MAKELPARAM(10, 10)); Сам не пробовал еще... Последний раз редактировалось dr. F.I.N., 01.05.2010 в 09:15. |