编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
定制Delphi应用程序的系统菜单,我们使用Delphi编制应用程序,编译运行后,在主界面的左上角出现一小图标,用鼠标单击此图标,会出现一下拉式菜单,这就是系统菜单。系统菜单包括[还原]、[移动]、[大小]、[最小化]、[最大化]和[关闭]六项。系统菜单是Delphi自动给每个应用程序加上的,不用特意设计。但在我们的应用程序中,有时为达到一定目的,不希望在主界面上有主菜单存在,这时就可以在系统,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> delphi >> 文章正文
【字体:
定制Delphi应用程序的系统菜单   进入问吧

本站地址:http://www.bajiao123.com

作者:佚名    文章来源:不详    点击数:    更新时间:2007-8-1    

定制Delphi应用程序的系统菜单

   我们使用Delphi编制应用程序,编译运行后,在主界面的左上角出现一小图标,用鼠标单击此图标,会出现一下拉式菜单,这就是系统菜单。系统菜单包括[还原]、[移动]、[大小]、[最小化]、[最大化]和[关闭]六项。系统菜单是Delphi自动给每个应用程序加上的,不用特意设计。但在我们的应用程序中,有时为达到一定目的,不希望在主界面上有主菜单存在,这时就可以在系统菜单上做点文章,将自己的菜单选项加入到系统菜单中,以实现主界面的整洁。
  下面是具体的实现方法。例如,我们要将[新建]和[保存]两选项加入到系统菜单中。先将一PopupMenu组件加入表单,双击此组件进入PopupMenu设计器,设置[新建]和[保存]菜单项,后单击表单空白处,再选中Objector Inspector的Event选项卡,双击OnCreate事件,进入单元窗口,编写如下代码:
  Procedure Tform1,FormCreate(Sender:TObject);
  Begin
  With PopupMenul do
  For I:=1 do
  AppendMenu(getsystemmenu(self,handle,false),mf-popup,items[I],handle,pchar(items[I],caption));
  在变量中添加:Var I:Integer;
  编译运行后就会看到系统菜单中多了[新建]和[保存]两项。
  下面我们来完成系统菜单项的响应。在Tform1的类定义中的Public部分插入如下代码:
  Procedure WMSysCommand(var Msg:Tmessage);
  message WM-SysCommand;
  其中WMSysCommand为用户定义的响应函数。
  Procedure WMSysCommand(var Msg:Tmessage);
  Var
  Item:Tmenuitem;
  Begin
  Inherited;
  Item:=popupmenu1.Finditem(msg.wparam,fkcommand);
  If not(item=nil) then
  Item.click;
  End
  这样,系统菜单项就可以调用原有菜单项的click函数。 

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 高级搜索
    编程资料集中营