Статьи Королевства Дельфи

       

Системное меню по произвольному событию в произвольном месте


Раздел Сокровищница

Вот недавно хотел показать системное меню по произвольному событию в произвольном месте, читал хелп по 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;

Может кому пригодится....




Содержание раздела