当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>C++Builder定制系统菜单</b>[VC/C++编程]

赞助商链接



  本文“<b>C++Builder定制系统菜单</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

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

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

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

.为新增添的菜单项定义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<Menus.hpp>
...

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)");
  {
}


  以上是“<b>C++Builder定制系统菜单</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .