![]() |
|
#1
|
|||
|
|||
![]() Доброе время суток. Создал форму без заголовка. На верхний левый угол кинул картинку. Как мне при нажатии на картинку сгенерировать системное меню которое генерирует винда при нажатии на иконку окна?
APPLICATION.TERMINATOR |
#2
|
|||
|
|||
![]() Из DRKB Explorer (похожая тема) :
Код:
DRKB Explorer Как заставить системное меню выпасть в указанном месте? 01.01.2007 { How to popup the windows system menu? Maybe you can use Keybd_event to eumlate ALT+SPACE Maybe you can use a TPopupmenu. But they always have some problem. The method below is a perfect solution! BTW: if your form has borderstyle = bsNone, Please do it like this: Set forms style = bsSingle; and use the code below to set form boder: SetWindowLong(Handle, GWL_STYLE,GetWindowLong(Handle, GWL_STYLE) and (not WS_CAPTION) or WS_DLGFRAME or WS_OVERLAPPED); } procedure TForm1.Button1Click(Sender: TObject); const { Undocument message ID } WM_POPUPSYSTEMMENU = $313; begin SendMessage(Handle, WM_POPUPSYSTEMMENU, 0, MakeLong(Mouse.CursorPos.X, Mouse.CursorPos.Y)); end; Проверил - работает. Последний раз редактировалось roamer, 13.04.2010 в 21:56. |
#3
|
|||
|
|||
![]() Благодарю. Попробую
APPLICATION.TERMINATOR |