![]() |
|
|
|
|
#1
|
|||
|
|||
|
Доброе время суток. Помню как то ранее задавался вопрос о системном меню. Предлагалось вызвать сообщение $313 но ничего не работает. Я имею в виду popup menu возникающее в заголовке окна при щелчке на иконку.
|
|
#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.
|
|
#4
|
||||
|
||||
|
У меня работает.
D7 Win-7 |
|
#5
|
|||
|
|||
|
И что мне делать
|
|
#6
|
||||
|
||||
|
У меня прекрасно работает. D6+XP
Так что даже не скажу...Кстати, я не зря кинул ссылку на автора...почитайте обсуждение к этому решению, может что-нибудь вычитаете для себя. Там же предложено такое решение: SendMessage(Handle, 787, 0, MAKELPARAM(10, 10)); Сам не пробовал еще... Последний раз редактировалось dr. F.I.N., 01.05.2010 в 09:15. |