先祝愿今晚必胜!没别的,怎样在窗口系统菜单里加上“关于” 先Get窗体的System Menu,然后Insert一个MenuItem即可。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GetSystemMenu(Handle);AppendMenu(...);要点击后显示什么东西,就BEGIN_MESSAGE_MAP MESSAGE_HANDLER(WM_COMMAND,TMessage,yourfun);END_MESSAGE_MAP(TForm) 呵呵,bladeboy(刀锋)是VC的写法。加菜单如bladeboy(刀锋)所说,不过响应就不对了,应当是WM_SYSCOMMAND。可以重载WndProc方法或用消息映射的方法:procedure WMSysCommand( var Msg: TWMSysCommand ); message WM_SYSCOMMAND;不是你的命令时,一定要执行原来的操作:inherited另外请注意,你选的命令标识低四位应当为0(Windows要用它),也就是必须是16的倍数。还有不能与系统设定的重复,如SC_xxxx等,可以在Windows.pas或Messages.pas中找到SC_xxxx的定义。 继续说。SC_xxxx最小值是61440($F000),你可以用比这个小的任何16倍数的值。源程序如下:unit Unit1;interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) procedure FormShow(Sender: TObject); private { Private declarations } protected procedure WndProc( var Msg: TMessage ); override; public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}const SC_ABOUT = $0100;procedure TForm1.WndProc(var Msg: TMessage);begin if (Msg.Msg=WM_SYSCOMMAND) and ((Msg.WParam and $FFF0)=SC_ABOUT) then Application.MessageBox( PChar(Application.Title), '我的程序好牛气!', MB_OK or MB_ICONINFORMATION ) else inherited;end;procedure TForm1.FormShow(Sender: TObject);var hmnuSystem: HMENU;begin hmnuSystem := GetSystemMenu( Handle, False ); AppendMenu( hmnuSystem, MF_SEPARATOR, 0, '' ); AppendMenu( hmnuSystem, MF_ENABLED, SC_ABOUT, '关于(&A)...' );end;end. delphi中怎么选择文件夹 找DELPHI数据库熟手做小项目 请教一个关于消息的问题 使用WebConnection连接远程服务器程序,为什么不能保存Blob类型的数据 庆祝自己生日,放分! 呵呵,小问题,来看看呀 DBGrid如何纵向合并单元格呀 我要得到光盘驱动器的盘符 用delphi 怎样做? 50分求安装和启动NT服务程序的问题 急!!!!日期??? 各位老师,怎样知道用WinExec调用的一个进程是否已运行结束?用的急,谢谢!!! 如何使用进程条?
AppendMenu(...);要点击后显示什么东西,就
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_COMMAND,TMessage,yourfun);
END_MESSAGE_MAP(TForm)
procedure WMSysCommand( var Msg: TWMSysCommand ); message WM_SYSCOMMAND;不是你的命令时,一定要执行原来的操作:inherited另外请注意,你选的命令标识低四位应当为0(Windows要用它),也就是必须是16的倍数。还有不能与系统设定的重复,如SC_xxxx等,可以在Windows.pas或Messages.pas中找到SC_xxxx的定义。
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;type
TForm1 = class(TForm)
procedure FormShow(Sender: TObject);
private
{ Private declarations }
protected
procedure WndProc( var Msg: TMessage ); override;
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}const
SC_ABOUT = $0100;procedure TForm1.WndProc(var Msg: TMessage);
begin
if (Msg.Msg=WM_SYSCOMMAND) and ((Msg.WParam and $FFF0)=SC_ABOUT) then
Application.MessageBox( PChar(Application.Title), '我的程序好牛气!', MB_OK or MB_ICONINFORMATION )
else
inherited;
end;procedure TForm1.FormShow(Sender: TObject);
var
hmnuSystem: HMENU;
begin
hmnuSystem := GetSystemMenu( Handle, False );
AppendMenu( hmnuSystem, MF_SEPARATOR, 0, '' );
AppendMenu( hmnuSystem, MF_ENABLED, SC_ABOUT, '关于(&A)...' );
end;end.