用C++Builder来定制系统菜单
通常在应用程序的主窗体中,用鼠标左键点击左上角的图标,会弹出一个菜单,这个菜单叫做“系统菜单”。表单中没有对应系统菜单的组件,所以有时候我们需要自定义系统菜单的时候会比较麻烦。具体来说,可以通过以下步骤实现:
将所需的菜单项添加到系统菜单。
为新增加的菜单项定义OnClick事件的处理过程。
在下面的程序中,菜单项“前显示(A)”被添加到系统菜单中,通过它,表单可以总是显示在前面或以正常的表单模式显示。具体实施过程如下:
1)通过菜单File|New Application创建一个新项目。
2)添加Form Form1的OnClick事件的过程如下:
void _ fastcalltform 1::form create(to object * sender)
{
/Set系统菜单
AppendMenu(getsystem menu(handle,false),MF _ separator,0," ");
AppendMenu(get system menu(handle,false),MF _ string,200,"前端显示(& A)");
}
3)在文件Unit1.h的头文件中添加以下语句:
...
# include
...
4)在TForm1的类型定义中,添加系统菜单中新菜单项OnClick事件处理过程的声明:
...public://User声明
_ _ fast call t form 1(t component * Owner);
MESSAGE void _ _ fastcall system menu command(TWMMenuSelect & Msg);
BEGIN _ MESSAGE _ MAP
MESSAGE _ HANDLER(WM _ sys command,TWMMenuSelect,system enu command);
END _ MESSAGE _ MAP(t form);
};
0条评论