<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++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |