精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Windows API函数>>菜单>>在系统菜单中添加菜单项

主题:在系统菜单中添加菜单项
发信人: daji(妲姬)
整理人: teleme(2001-04-25 22:43:39), 站内信件
这个例子在Windows的系统菜单中添加一项。

Unit KickWindowsAss; 

Interface 

Uses 

SysUtils, WinTypes, WinProcs, Messages, Classes,
Graphics, Controls, Forms, Dialogs, Menus; 

Type 

TForm1 = Class (TForm) 
 Procedure FormCreate (Sender : TObject); 
Private
 {Private declarations} 
Public
 {Public declarations} 
 Procedure WinMsg (Var Msg : TMsg; Var Handled : Boolean); 
 Procedure DoWhatEever; 
End; 

Var 
 Form1 : TForm1; 

Implementation 

{$R *.DFM} 

Const 
 ItemID = 99; // 指定给我们自己的菜单的 ID,可以为任何整数。

Procedure Tform1.WinMsg (Var Msg : TMsg; Var Handled : Boolean); 
Begin 
 If Msg.Message = WM_SYSCOMMAND Then 
  If Msg.WParam = ItemID Then DoWhatEver; 
End; 

Procedure TForm1.FormCreate (Sender : TObject); 
Begin 
 Application.OnMessage := WinMsg; 
 AppendMenu(GetSystemMenu(Form1.Handle,False),MF_SEPARATOR,0,''); 
 AppendMenu(GetSystemMenu(Form1.Handle,False),MF_BYPOSITION,ItemID,'哈哈(&K)'); 
 AppendMenu(GetSystemMenu (Application.Handle,False),MF_SEPARATOR,0,''); 
 AppendMenu(GetSystemMenu(Application.Handle,False),MF_BYPOSITION,ItemID,'最小化(&Y)'); 
End; 

Procedure TForm1.DoWhatEver; 
Begin 
 Exit;  //在这里添加按下菜单后要做的事 
End; 

End.



----
                ^^                                    `_ ,
 ^^           |    |    |      Hello,                -(_)-
      ^^     )_)  )_)  )_)         My Friends!        ,  `
姬海涵      )___))___))___)\                  ,
           )____)____)_____)\\              __)\_
妲姬网苑 _____|____|____|____\\\__    (\_.-'    a`-.
---------\                   /--------(/~~````(/~^^`--------
  ^^^^^ ^^^^^^^^^^^^^^^^^^^^^
    ^^^^      ^^^^     ^^^    ^^      [email protected]
         ^^^^      ^^^

[关闭][返回]