wxWidgets:菜单
和菜单有关的类主要有两个:wxMenuItem和wxMenu。wxMenuItem用于表示一个菜单项,而wxMenu是wxMenuItem的弹出或下拉列表。
现在让我们看看如何给我们的框架类加上菜单:
MyFrame::MyFrame
: wxFrame
{
// 新建下拉菜单
// 该下拉菜单将显示在MyFrame的MenuBar上
// 所以我们不希望它有自己的标题栏
// 如果为其构造函数指定wxString参数
// 该string将在这个menu显示出来时作为其标题栏一并显示出来
wxMenu *menuFile = new wxMenu();
// 菜单项:Open
wxMenuItem *menuItemOpen = new wxMenuItem(menuFile, ID_MENUITEM_OPEN, L"Open...");
// 菜单项:Close
wxMenuItem *menuItemClose = new wxMenuItem(menuFile, ID_MENUITEM_CLOSE, L"Close...");
// 将菜单项Open加入下拉菜单
menuFile->Append(menuItemOpen);
// 将菜单项Close加入下拉菜单
menuFile->Append(menuItemClose);
// 创建菜单条
wxMenuBar *menuBar = new wxMenuBar();
// 将下拉菜单加入菜单条
// 该下拉菜单将在menuBar上显示为”File"
menuBar->Append(menuFile, L"File");
// 设置MyFrame的菜单条
SetMenuBar(menuBar);
}
每一列下拉菜单(或弹出菜单)都是一个wxMenu对象;每一个子菜单本身也是一列下拉菜单,因此也是一个wxMenu对象。
下面的代码给File菜单增加一个Recent Files子菜单,这个子菜单有两个item:R1和R2。
// 子菜单本身也是一个wxMenu对象
wxMenu *menuRecent = new wxMenu();
// 子菜单的两个菜单项
wxMenuItem *menuItemR1 = new wxMenuItem(menuRecent, ID_MENUITEM_R1, L"R1");
wxMenuItem *menuItemR2 = new wxMenuItem(menuRecent, ID_MENUITEM_R2, L"R2");
menuRecent->Append(menuItemR1);
menuRecent->Append(menuItemR2);
// 使用wxMenu对象的AppendSubMenu函数将子菜单加入File菜单列
menuFile->AppendSubMenu(menuRecent, "Recent Files");
下面的代码将菜单项选择事件与某个处理函数关联:
Bind(wxEVT_MENU, &MyFrame::OnMenuItemOpen, this, ID_MENUITEM_OPEN);
wxWidgets:菜单的更多相关文章
- wxWidgets
wxWidgets Code::Blocks环境 Code::Blocks下载: Code::Blocks使用: codeblocks-16.01mingw-setup.exe 它的gcc版本为4.9 ...
- [wxWidgets] 1. 安装及"hello world"程序
关于wxWidgets的优越已经在它的官方网站有所阐述,本文不再赘述. 本系列主要记录学习这个软件包过程中遇到的问题以及心得. 1. 安装 从源码安装虽然大多时候不是一件轻松的过程,但是基于以下两个 ...
- [ZETCODE]wxWidgets教程七:对话框
本教程原文链接:http://zetcode.com/gui/wxwidgets/dialogs/ 翻译:瓶哥 日期:2013年12月9日星期一 邮箱:414236069@qq.com 主页:http ...
- [ZETCODE]wxWidgets教程六:事件处理
本教程原文链接:http://zetcode.com/gui/wxwidgets/events/ 翻译:瓶哥 日期:2013年12月7号星期六 邮箱:414236069@qq.com 主页:http: ...
- [ZETCODE]wxWidgets教程四:菜单栏和工具栏
本教程原文链接:http://zetcode.com/gui/wxwidgets/menustoolbars/ 翻译:瓶哥 日期:2013年11月28日星期四 邮箱:414236069@qq.com ...
- wxWidgets学习笔记——在屏幕上画简单的图形和文字
在屏幕上画简单图形和显示图片.处理简单鼠标键盘事件 /*************************************************************** * Name: M ...
- 《使用wxWidgets进行跨平台程序开发》chap09——布局一个对话框
///////////////////////////////////////////////////////////////////////////// // Name: personalrecor ...
- 《使用wxWidgets进行跨平台程序开发》chap02——一个简单的应用程序
// Name: minimal.cpp // Purpose: Minimal wxWidgets sample // Author: Julian Smart #include "wx/ ...
- 基于CodeBlocks上的wxWidgets开发环境配置
本文摘自http://www.cnzui.com/?p=962 在原文的基础上根据自己的实践做了一些修改 我的IDE为C::B 12.11,wxWidgets版本为wxWidgets-2.8.12 在 ...
随机推荐
- learning uboot part command
=> part --helppart - disk partition related commands Usage:part uuid <interface> <dev> ...
- create rootfs.img using loop device
reference: https://www.thegeekdiary.com/how-to-create-virtual-block-device-loop-device-filesystem-in ...
- windows自动快捷方式
http://jingyan.baidu.com/article/dca1fa6fb8c408f1a5405242.html
- Nutch相关视频教程3
参考: http://www.cnblogs.com/huligong1234/p/3515214.html
- Java——IO类,字节流缓冲区
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- 《Python》 面向对象三大特性之多态、封装
一.多态 1.什么是多态? 一个类表现出的多种状态:通过继承来实现的 在Java中的表现:在一个函数中需要给参数指定数据类型,如果这个地方可以接收两个以上类型的参数,那么这些类型应该有一个父类,这个父 ...
- DevExpress v18.1新版亮点——WinForms篇(六)
用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v18.1 的新功能,快来下载试用新版本! ...
- 对小波变换中DWT和CWT的理解
转载自 http://blog.sina.com.cn/s/blog_633750d90100hbco.html 连续小波变换的概念.操作.及时间尺度图的显示 最近很多网友问到关于连续小波变换的诸多问 ...
- SharePoint 2010 Ribbon with wrong style in Chrome and Safari
When we add custom ribbon to SharePoint 2010, it may display well in IE but not in Chrome and Safari ...
- js之表单记忆功能
在项目中,我们难免会遇到希望相同用户操作本次打开页面时可以展现或者自动记录上次登录系统点击过的的复选框,单选按钮等操作的状态,也就是表单记忆功能,这时,一个很重要的技术便派上了用场,即cookie. ...