动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字
来源:互联网 发布:安卓鼓机软件loopz 编辑:程序博客网 时间:2024/05/01 02:57
1. 修改CMFCMenuBar菜单项的文字,分两种.
A. 修改顶层有POP_UP属性的菜单文字,即类型单文档中的" 文件" ,"编辑","视图"等这类一直显示着的.
因为CMFCMenuBar基类是CMFCToolBar,所以有有如下代码: (特别注意: 在单文档中,此函数一定要在主窗口ShowWindow之后调用)
B, 修改由顶层菜单弹出菜单的有ID的菜单项.
响应ON_UPDATE_COMMAND_UI 然后在其中修改,代码如下:
如果相让菜单中显示的文字和工具栏上文字相同,则去掉 if(pCmdUI->m_pMenu !=NULL)这句.2. 工具栏CMFCToolBar文字修改.
A. 在ON_UPDATE_COMMAND_UI , 前面已经说过.
B. 使用CMFCToolbar的方法修改. 代码如下: (特别注意: 在单文档中,此函数一定要在主窗口ShowWindow之后调用)
3. 修改Prompt信息.
Prompt信息分成两段: 一般格式如下:
保存活动文档\n保存
在编辑菜单项或者工具栏项时如果输入如上信息,则会被分成两段. "保存活动文档" 和 " 保存".
"保存活动文档" 这段会在你鼠标移动到菜单项上或者工具栏项上时,显示到 状态栏 中. 而 "保存"则作为菜单项和工具栏ToolTip的标题.
这两段字不能在同一个地方动态修改.
要分为两次.
A. 修改 \n 前的部分.即 " 保存活动文档\n保存 " 中的 "保存活动文档" 串.
通过在主窗口类中重载虚函数: GetMessageString 实现修改,代码如下:
B. 修改 \n之后的部分, 即 " 保存活动文档\n保存 " 中的 "保存" 串.
些串的修改,需要派生CMFCToolBar类, 并重载虚函数OnToolHitTest. 代码如下:
至此, 动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字.就全部完成.
补充说明: 工具栏上的文字要使得修改后能马上看到效果,则要把如下函数多调用几次.
由于文字改变后,工具栏的重新计算每个工具栏按钮的宽度及整个工具栏的宽度. 所认有以上函数的调用. 至于为什么要调用多次才能正确,确是没有去深究他.
还有要注意,注册表里面保存有工具栏配置信息, 可能需要删除注册表项. 当然比较好的,还是在在CMFCToolBar的派生类中重载LoadState及SaveState函数,什么也不做,直接返回.
不知道微软的东西是越来越难用,还是因为不用之不得其道 ,总感觉这些新类除了好看, 用起真是难用之极啊.
- 动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字.
- 动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字.
- 动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字.
- 动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字
- CMFCMenuBar和CMFCToolBar相同ID,在显示不同标签文字
- VC 2010+MFC:CMFCToolBar和CMFCMenuBar的字体大小修改
- VC 2010+MFC:CMFCToolBar和CMFCMenuBar的字体大小修改
- CMFCMenuBar 的另类动态修改
- 怎样动态修改CDockablePane上面的工具条CMFCToolBar的信息提示和prompt
- CMFCMenuBar & CMFCToolBar
- 【VC控件】动态修改控件和弹出菜单上的文字内容及大小
- 修改FloatingActionButton的title的文字颜色及背景颜色
- 如何修改pdf文件中文字的大小及颜色
- 动态修改js中文字的title
- 文字工具及文字特效
- 路径及文字
- 由远及近的文字 效果
- Android TabHost 文字及图片的设置
- DOM元素尺寸获取
- openstack neutron源码分析(四)--------port的创建流程
- RocketMQ批量消费、消息重试、消费模式、刷盘方式
- AVL(平衡二叉树), 和它变形来的红黑树
- 小米手机调试android程序,发现设置里面的USB安装不见了
- 动态修改CMFCMenuBar及CMFCToolBar的文字及Prompt,ToolTip文字
- 51 NOD 1008 N的阶乘 mod P
- mysql安装与打开
- 通过jvisualvm查看产生死锁线程
- ThreadLocal类
- POJ 2135(费用流基础题)
- Android 提交数据到服务器
- abd闪退解决办法
- Linux查看进程和终止进程的技巧