在系统菜单中加入新的菜单项

阅读:136次   时间:2003-08-15 00:00:00   字体:[ ]
    你想在系统菜单(当你鼠标右键点击窗体标题时出现)中加入新的菜单项吗?好吧,开始干吧。
 

//在你的窗体的私有部分声明: 
procedure WMSYSCOMMAND(var message: Tmessage) message WM_SYSCOMMAND; 

... 

var 
  Form1: TForm1; 
  tempMenuitem  : TmenuItem; 
  MenuItemHandle: THandle; 

implementation 

{$R *.DFM} 

procedure TForm1.Button1Click(Sender: TObject); 
var 
  MenuHandle : Thandle; 
  ReturnValue  : boolean; 
begin 
  tempMenuitem   := TmenuItem.Create(self); 

//现在保存新菜单项的句柄
  MenuItemHandle := tempMenuitem.Handle; 
  tempMenuitem.Caption  := ''About..''; 
  MenuHandle := GetSystemMenu ( handle , FALSE )  
  ReturnValue := InsertMenu ( MenuHandle, 9,  MF_BYPOSITION  + MF_SEPARATOR, MenuItemHandle 
                    ,pchar(tempMenuitem.Caption) ); 
  ReturnValue := InsertMenu ( MenuHandle, 10,  MF_BYPOSITION + MF_STRING   , MenuItemHandle 
                    ,pchar(tempMenuitem.Caption) ); 
  DrawMenuBar(handle); 
end; 


procedure TForm1.WMSYSCOMMAND(var message: Tmessage)  
begin 
  If ( message.WParam = MenuItemHandle )  then 
    ShowMessage(''About click''); 
  inherited; // <-- 这一语句很重要,它处理其他的消息
end; 
... 

关于本站 - 广告服务 - 会员指南 - 联系方法
Copyright ©2003-2011 源码天空 All Rights Reserved