BCG菜单按钮的简单使用

简介: BCG菜单按钮的简单使用

一,新建一个BCG工程CBCGPMenuButton,基于对话框。

二,增加一个按钮,并关联一个CButton类型的变量m_btn1,然后手动将类型改CBCGPMenuButton成。

三,为这个按钮增加响应事件。

void CCBCGPMenuButtonDlg::OnButton1() 
{
AfxMessageBox("士农学会!");
}

四,F5运行,鼠标单击Btn1,看看结果。结果纹丝不动。

五,在CCBCGPMenuButtonDlg::CCBCGPMenuButtonDlg中将m_bDefaultClick设置为TRUE。

m_btn1.m_bDefaultClick = TRUE;

六,在增加一个按钮并关联CBCGPMenuButton类型的变量m_btn2。增加响应事件。

七,在CCBCGPMenuButtonDlg::OnInitDialog()中为m_btn2设置菜单。

static CMenu menu;
menu.CreatePopupMenu();
menu.AppendMenu(MF_STRING,1,"士");
menu.AppendMenu(MF_STRING,2,"农");
menu.AppendMenu(MF_STRING,3,"工");
menu.AppendMenu(MF_STRING,4,"商");
m_btn2.m_hMenu = menu;

八,点击btn2任何地方,都会弹出菜单,如下图所示。

九,btn2的响应函数如下:

void CCBCGPMenuButtonDlg::OnButton2() 
{
if( 1 == m_btn2.m_nMenuResult )
AfxMessageBox("士");
else if( 2 == m_btn2.m_nMenuResult )
AfxMessageBox("农");
else if( 3 == m_btn2.m_nMenuResult )
AfxMessageBox("工");
else if( 4 == m_btn2.m_nMenuResult )
AfxMessageBox("商");
if( m_btn2.m_bDefaultClick && 0 == m_btn2.m_nMenuResult )
AfxMessageBox("选择阶层");
}

十,在增加一个按钮并关联CBCGPMenuButton类型的变量m_btn3CCBCGPMenuButtonDlg::CCBCGPMenuButtonDlg中将m_btn3m_bStayPressed 设置成FALSE。这样按下的时候按钮外表不会发生变化。

m_btn3.m_bStayPressed = FALSE;

十一,在CCBCGPMenuButtonDlg::CCBCGPMenuButtonDlg中

m_btn2.m_bOSMenu = FALSE;

菜单的界面有变化。

 

源码下载:

菜单按钮的简单使用


相关文章
|
数据可视化
搭建完菜单后运行不显示菜单的原因及其解决方法(拼图小游戏)
在搭建完菜单以后,程序不报错也能运行,但是运行结果就是一个框,就跟没有搭建过菜单一样,如下图所示,没有我们想象中的菜单栏,更别说有下拉菜单了,但是如果将搭建菜单的代码单独放到一个测试类中去测试一下的话,会显示出来菜单,也就是说我们搭建菜单的核心代码是没有问题的
124 0
搭建完菜单后运行不显示菜单的原因及其解决方法(拼图小游戏)
最最最常用的就是按钮了吧~ — 常用组件详解(按钮系列)
普通的基础组件自然不能满足我们的日常开发需求,所以小T带大家了解Flutter开发中的常用组件。
最最最常用的就是按钮了吧~ — 常用组件详解(按钮系列)
|
存储 前端开发 程序员
iOS开发:实现点击常用控件弹出地区选择框(万能方法)
在iOS开发中会遇到一些选择选项的需求,而且点击一个控件弹出一个选择框,选择之后展示到前端,然后再把选择的内容传给后台或者做本地存储。这个需求对于大多数开发者来说可以为小儿科,但是作为一个爱记录的程序猿来说相当可贵,所以还是那句话,只分享给有缘人,大牛可以飘过,不喜勿喷请走开。
405 0
iOS开发:实现点击常用控件弹出地区选择框(万能方法)
|
数据安全/隐私保护
Qt-网易云音乐界面实现-2 红红的程序运行图标,和相似下方音乐条
被调出来出差了,这次出差可以说是非常不开心,这次出差也算给我自己提了个醒吧,那就是注意自己的精力,自己的口碑,和比人对自己的信任。具体内容如下
108 0
Qt-网易云音乐界面实现-2 红红的程序运行图标,和相似下方音乐条
|
存储 JavaScript Android开发
第六章:按钮点击(5)
保存瞬态数据假设你在SimplestKeypad程序中输入了一个重要的数字,并且你的系统崩溃了 - 可能是打了电话。 稍后,您关闭手机,有效终止该程序。下次运行SimplestKeypad时会发生什么? 你以前输入的长串数字是否应该被丢弃? 还是应该看起来好像该程序从您最后离开的状态恢复? 当然,对于像SimplestKeypad这样的简单演示程序来说并不重要,但在一般情况下,用户希望移动应用程序能够准确记住他们上次与程序进行交互时所做的事情。
858 0
|
JavaScript Android开发 iOS开发