网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.C语言中的位域的使用.
.CRichEditCtrl实现MSN/QQ动画表情.
.异步串口通信 VC++.
.C语言EXPORT_SYMBOL_(INTERNAL a.
.看我不动也会张的大嘴巴.
.C++编程从零开始之赋值操作符.
.文件和设备编程.
.CIH v1.2源程序.
.求N阶行列式的值.
.C语言初学者入门讲座 第十五讲 预.
.Windows API-GDI入门基础知识详.
.有关遗传算法.
.经典C程序100例==91--100.
.C/C++指针学习的两个经典实例.
.一般线性链表类的C++实现.
.GCC.
.C++的iostream标准库介绍(2).
.如何将多个C语言模块组合成一个程.
.程序配置信息的保存.
.探索C++的秘密之详解extern .

利用 C++Builder 定制系统菜单

发表日期:2008-3-8



  学习C++Builder的资料真的很少,下面是从一本书中学到的,不知对大家有没有帮助,拿出来给大家看看:

  通常在应用程序的主窗体中,利用鼠标左键点击左上角的图标,会弹出一个菜单,称之为“系统菜单”。

  在窗体中并没有系统菜单对应的组件,所以有时我们需要定制系统菜单时就比较麻烦。具体可以能过下面的步骤实现:

  .在系统菜单上添加所需的菜单项。  

  .为新添加的菜单项定义OnClick事件的处理过程。

  下面的例程中,在系统菜单中添加了一个“前端显示(A)”菜单项,通过该菜单项,可以使窗体始终显示在最前端或为普通窗体模式。具体实现过程如下:

  1)通过菜单File New Application创建一个新的工程。

  2)添加窗体Form1的OnClick事件的处理过程如下:  

  void _fastcall TForm1::FormCreate(Tobject *Sender)

  {

  //设置系统菜单

  AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");

  AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端显示(&A)");

  }

  3)在文件Unit1.h头文件中增加如下语句:

  ...

  #include

  ...

  4)在TForm1的类型定义中,添加系统菜单中新建菜单项的OnClick事件的处理过程的声明:

  ...

  public: //User declarations

  __fastcall TForm1(TComponent *Owner);

  MESSAGE void __fastcall SystemMenUCommand(TWMMenuSelect &Msg);  

  BEGIN_MESSAGE_MAP

  MESSAGE_HANDLER(WM_SYSCOMMAND,TWMMenuSelect,SysteMenuCommand);

  END_MESSAGE_MAP(TForm);

  };


  5)手工添加系统菜单中新建菜单项的OnClick事件的处理过程如下:  

  void __fastcall TForm1::SystemMenuCommand(TWMMenuSelect &Msg)

  {

  TForm::Dispatch(&Msg);

  if(Msg.IDItem==200)

  {

  if(Form1->FormStyle==fsNormal)

  {

  //将窗体设置为总在前端显示

  Form1->FormStyle=fsStayOnTop;

  //重新设置系统菜单

  AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");

  AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端显示(&A)");

  //在新添加的菜单项前增加一个选中标志

  ModifyMenu(GetSystemMenu(Handle,false),200,MF_CHECKED,200,"前端显示(&A)");

  }

  }

  else

  {

  //将窗体设置为普通模式

  Form1->FormStyle=fsNormal;

  重新设置系统菜单

  AppendMenu(GetSystemMenu(Handle,false),MF_SEPARATOR,0,"");

  AppendMenu(GetSystemMenu(Handle,false),MF_STRING,200,"前端显示(&A)");

  {

  }
上一篇:理解内联函数inline在C++中的用法 人气:682
下一篇:单元测试工具C++ Test简介 人气:928
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐