whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews ¦  misc ¦  forum
 kylix ¦  tutorials ¦  online shop ¦  photos ¦  Add&Win Game

Tips (1565)

Database (91)
Files (139)
Forms (113)
Graphic (116)
IDE (21)
Indy (5)
Internet / LAN (133)
IntraWeb (0)
Kylix (10)
Math (77)
Misc (128)
Multimedia (46)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (268)
VCL (246)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

41 Visitors Online


SwissDelphiCenter is a Borland Technology Partner
 
...popup the system menu at a specified position?
Autor: Kingron
Homepage: http://kingron.myetang.com
[ Print tip ]  

Tip Rating (0):  
     


{
  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;

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners