Митронов Станислав дата публикации 02-07-2002 19:22 Системное меню по произвольному событию в произвольном месте
Вот недавно хотел показать системное меню по произвольному событию в
произвольном месте, читал хелп по WinAPI, поискал у вас - не нашел ответ,
повозился и обнаружил что нас обманывают и TrackPopupMenu может возвращать
не только LongBool (Windows.pas) или
Return Values - If the function
succeeds, the return value is nonzero. (Win32 Develo... Help)
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;
Может кому пригодится....
[Работа с меню] [Системное меню]
Обсуждение материала [ 04-08-2005 13:12 ] 6 сообщений |