CMFCToolBar 在运行时动态插入Button
来源:互联网 发布:java ee圣思园教程 编辑:程序博客网 时间:2024/06/03 18:09
我想根据配置文件,动态的插入工具条,
CMFCToolBar* pToolBar_Edit=new CMFCToolBar();
pToolBar_Edit->CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC,CRect(1,1,1,1),uiLastUserToolBarId+1);
CString cap;
pToolBar_Edit->InsertButton(CMFCToolBarMenuButton(ID_Item,NULL,ID_Bitmap,cap,TRUE));
插入完按钮后,工具条可以显示,但是按钮是灰色的,因为没有消息映射ON_COMMAND,但由于是运行时动态添加,不可能 BEGIN_MESSAGE_MAP和END_MESSAGE_MAP()和之间写ON_COMMAND
在网上搜索:
我们可以规定动态添加按钮的ID范围 MINID、MAXID。我们添加的按钮的ID,在这个范围内,最大为65535个,所以用户在创建动态菜单,BUTTON时,在资源文件中定义这些宏时请最好不要超过这些范围,如果硬是要超过65535,那麽在memberFxn(UINT uID)函数判断的时候 需要取余 uID%65535 处理。
然后添加消息映射
afx_msg void OnCustomButtonCmd(UINT id); //id即为触发的工具条按钮ID
ON_COMMAND_RANGE(MINID,MAXID,&OnCustomButtonCmd)
添加完,按钮为可使用状态
afx_msg void OnUpdateUi(CCmdUI* pUi);
ON_UPDATE_COMMAND_UI_RANGE(MINID,MAXID,&OnUpdateUi)
- CMFCToolBar 在运行时动态插入Button
- CMFCToolBar插入组合框
- 在CMFCToolbar中添加控件
- 在程序运行时,点击button旋转图片
- VC中CMFCToolBar插入组合框
- 如何在alv中插入radio button
- CMFCToolBar动态加载不同的工具栏
- 动态创建CMFCToolbar并添加按钮
- 在对话框里面加入工具条CMFCToolBar
- asp.net运行时,动态添加Button(或其它控件),并处理相应的事件
- 运行时改变Button 图标
- FireFox中在button中插入img时出现灰边的解决方法
- [VB.NET]请问如何在datagridview中插入button
- 运行时改变Button的android:drawableTop
- Button代码小写,运行时大写
- 超越reloadable=true, 在Tomcat运行时动态重载
- WPF在运行时创建动态数据源(XmlDataProvider)
- 在运行SSIS包时,如何动态更新变量值
- 利用HTML5开发Android
- 【LEETCODE】59-Spiral Matrix II
- UITableView中visibleCells方法的使用
- 使用float和clear创建网站三栏液态布局
- 使用git pull文件时和本地文件冲突怎么解决
- CMFCToolBar 在运行时动态插入Button
- Halcon一些功能算子
- velocity.js学习(一)
- linux system函数返回值问题
- Dango Web 开发指南 学习笔记 2
- Ecplise代码单步调试
- net_surgery中如何将全连接层转换成卷积层
- 64位程序core分析
- 判断字符串中包含另外一个字符