IDE:DELPHI2010
期望效果:往系统菜单中加一条自己的菜单,点击自己的菜单,能弹出一个对话框(Delphi程序开发范例第二版上的第一个程序)
问题:点击自己添加的菜单后,没有对话框弹出代码如下:unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure sysmenu(var msg:twmmenuselect);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;begin
i := getsystemmenu(handle,false);
appendmenu(i,mf_separator,0,nil);
appendmenu(i,mf_string,100,'my menu(&E)'); //添加菜单end;procedure TForm1.sysmenu(var msg:twmmenuselect);
begin
if msg.IDItem = 100 then
ShowMessage('Your chosen your menu!') //弹出对话框
else
inherited;
end;end.请问这个有什么问题吗
期望效果:往系统菜单中加一条自己的菜单,点击自己的菜单,能弹出一个对话框(Delphi程序开发范例第二版上的第一个程序)
问题:点击自己添加的菜单后,没有对话框弹出代码如下:unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure sysmenu(var msg:twmmenuselect);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;begin
i := getsystemmenu(handle,false);
appendmenu(i,mf_separator,0,nil);
appendmenu(i,mf_string,100,'my menu(&E)'); //添加菜单end;procedure TForm1.sysmenu(var msg:twmmenuselect);
begin
if msg.IDItem = 100 then
ShowMessage('Your chosen your menu!') //弹出对话框
else
inherited;
end;end.请问这个有什么问题吗
procedure sysmenu(var msg:TWMMenuSelect); message WM_SysCommand;
点击最大化按钮、最小化按钮、复原按钮、关闭按钮或者点击了系统某个菜单触发的消息