如何在WM平台下, 给创建的Dialog添加菜单

本文介绍如何在WM平台上为创建的Dialog添加菜单。通过创建并初始化SHMENUBARINFO结构体,设置菜单属性,最终实现菜单的创建。特别注意使用SHCMBF_HMENU标志的重要性。

如何在WM平台下, 给创建的Dialog添加菜单

(2010-04-20 12:43:17)
标签:

it

分类: UI

如何在WM平台下, 给创建的Dialog添加菜单以下这段代码添加在CFileAssociationDlg::OnInitDialog()方法内, CFileAssociationDlg是你要创建的对话框.
 //
创建SHMENUBARINFO结构体
SHMENUBARINFO   mbi; 
// 
初始化, 每个字节都置为0
 ZeroMemory(&mbi,   sizeof(SHMENUBARINFO));   
//
设置结构体SHMENUBARINFO的长度
 mbi.cbSize   =   sizeof(SHMENUBARINFO);   
//
设置控制菜单的窗口,CFileAssociationDlg对话框
 mbi.hwndParent   =   this->m_hWnd;   
// IDR_HELLO_MENU
为资源文件中的Menu ID, 需要创建该菜单
 mbi.nToolBarId   =   IDR_HELLO_MENU;   
//
应用程序的实例
 mbi.hInstRes   =   AfxGetInstanceHandle();   
//
设置菜单属性, 这里需要注意的是SHCMBF_HMENU , SHCMBF_HIDESIPBUTTON属性, 前者必须要有, 否则菜单会创建失败, 后者只应用于Mobile
//
平台, 用来隐藏输入法菜单
 mbi.dwFlags = SHCMBF_HMENU | SHCMBF_HIDESIPBUTTON;
//
创建菜单
 if(SHCreateMenuBar(&mbi))
 {
  }

 else {
  ::DestroyWindow(m_hWnd);
  PostQuitMessage(1);
  return(-1);
 }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值