一般将代码放在Form的OnCreate事件中:
procedure TfrmMain.FormCreate(Sender: TObject);
var
mnuSys: HMENU;
begin
mnuSys := GetSystemMenu(Handle, False); //获得系统菜单
DeleteMenu(mnuSys, SC_SIZE, MF_BYCOMMAND); //删除'大小'菜单
DeleteMenu(mnuSys, SC_MAXIMIZE, MF_BYCOMMAND);//删除'最大化'菜单
InsertMenu(mnuSys, $FFFFFFFF, MF_SEPARATOR, $FFFFFFFF, '');//插入分隔线
//插入'About'菜单
InsertMenu(mnuSys, $FFFFFFFF, MF_BYCOMMAND, IDM_ABOUT, '关于(&A)…');
//修改菜单文本
ModifyMenu(mnuSys, SC_MINIMIZE, MF_STRING, SC_MINIMIZE, 'Minimize');
...
end;
procedure TfrmMain.FormCreate(Sender: TObject);
var
mnuSys: HMENU;
begin
mnuSys := GetSystemMenu(Handle, False); //获得系统菜单
DeleteMenu(mnuSys, SC_SIZE, MF_BYCOMMAND); //删除'大小'菜单
DeleteMenu(mnuSys, SC_MAXIMIZE, MF_BYCOMMAND);//删除'最大化'菜单
InsertMenu(mnuSys, $FFFFFFFF, MF_SEPARATOR, $FFFFFFFF, '');//插入分隔线
//插入'About'菜单
InsertMenu(mnuSys, $FFFFFFFF, MF_BYCOMMAND, IDM_ABOUT, '关于(&A)…');
//修改菜单文本
ModifyMenu(mnuSys, SC_MINIMIZE, MF_STRING, SC_MINIMIZE, 'Minimize');
...
end;
解决方案 »
- 如果模拟键盘按下ALT + 字符键(如ALT + D )
- 动态创建控件的参数问题
- 如何控制一个窗体 当关闭时弹出对话框,点取消时不关闭窗口~~~
- 我想建个窗体form2,大小为20X20,无标题,另playsound如何同时播放两个声音
- 电子秤串口读数据的问题,大家帮忙看看。120分
- 请问SPCOMM 控件怎么自定义接收数据,不用receivedata 事件,急急!!!
- 图像放大缩小的问题
- 用comport控件,如何自定义波特率. brcustom
- 救救小弟我吧!
- 1:如何获得netbios的地址?2:如何判断我的机器已经连网?请提供完整的源码!
- 用线程访问WinSocket是否安全?
- 再问MDI窗口的背景图
你的做法我用过,可不知这样将自己的代码和新增的菜单关联起来,是否要用到WM_SYSTEMCOMMAND、WM_COMMAND消息
...
protected
procedure WndProc(var Message: TMessage); override;
...
procedure TfrmPlay.WndProc(var Message: TMessage);
begin
case Message.Msg of
WM_SYSCOMMAND:
case Message.WParam of
SC_MINIMIZE://Do you want to do
SC_CLOSE://Do you want to do
SC_MAXIMIZE://Do you want to do
IDM_ABOUT:
ShowAbout......
else inherited;
end;
else inherited;
end;
end
Help me! Please!!!
见我的问题‘捆绑OLE对象到数据库’,能否将你的控件E给我?
你的方法中使用重载WNDPROC的方法,我在编译运行时出现了WIN32错误,我将他该成了
protected
procedure NProc(var message:TWMSysCommand);Message WM_SysCommand;
一切OK。
你的方法应该也是可行的,我正在寻找原因,我的系统是NT WS4.0
与数据库关联起来就行了。
我用的也是NT WS4.0 + SP6 + 戴妃5,但工作一切正常,是不是你的系统有点问题?