一,新建一个BCGprojectCBCGPMenuButton,基于对话框。

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

三,为这个button添加响应事件。

void CCBCGPMenuButtonDlg::OnButton1()

{

AfxMessageBox("士农学会。");

}

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

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

m_btn1.m_bDefaultClick = TRUE;

六。在添加一个button并关联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("选择阶层");

}

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

m_btn3.m_bStayPressed = FALSE;

十一,在CCBCGPMenuButtonDlg::CCBCGPMenuButtonDlg中

m_btn2.m_bOSMenu = FALSE;

菜单的界面有变化。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGVfemhpZGFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

 
源代码下载:

最新文章

  1. JavaWeb:EL表达式
  2. sqlmap的安装方法
  3. MVC中的一些坑
  4. Spring Integration - 自动轮询发送手机短信
  5. 谈谈UIView的几个layout方法
  6. codeforces 720A:Closing ceremony
  7. Spring学习7-Spring整合Hibernate
  8. OC基础(15)
  9. Tested work with China Digiprog 3 4.94 mileage programmer
  10. 深入学习Oracle分区表及分区索引
  11. GridView获取单个单元格的值
  12. JSP page include taglib
  13. 2014.3.5-C语言学习小结
  14. JSP EL表达式 param、paramValues的使用
  15. 一天搞定HTML----标签的嵌套规则06
  16. 使用BigQuery分析GitHub上的C#代码
  17. JS基础——原型和原型链
  18. Python JSON 基本使用
  19. C语言 · 分苹果
  20. PAT 1035 插入与归并

热门文章

  1. iOS 代理为啥要用weak修饰?
  2. hdu Rich Game 6245
  3. 【HDOJ5977】Garden of Eden(点分治)
  4. Using MEF to Set Up Dependency Injection
  5. The type or namespace name 'Html' does not exist in the namespace 'System.Web.Mvc' (are you missing an assembly reference?)
  6. ubuntu php编译安装配置
  7. shell script timer and 無限迴圈
  8. Light oj 1044 - Palindrome Partitioning(区间dp)
  9. luogu P1941 飞扬的小鸟
  10. Loj #6287 诗歌