CMFCRibbonStatusBar中添加图片按钮

今天遇到了问题,网上down的

Here's how it works:

1. Create aCMFCRibbonButtonsGroup that will hold the status icon and add it to CMFCRibbonStatusBar

2. Create a CMFCToolBarImagesobject and add status icons via AddIcon() .

3. Register theCMFCToolbarImages to the RibbonButtonsGroup using SetImages() .For a status Icon, the pHotImages parameter may be set to NULL, since thebutton won't get a message handler assigned anyway. Note however, that both thefirst and the second parameter must be set. If the third is omitted, the iconwill be grayed out for disables buttons and if the first is omitted, no icons willbe displayed at all.

4. Create a new CMFCRibbonButtonand add it to the ButtonsGroup via AddButton() .Do *not* assign an Icon to it.

5. Obtain a pointer to thebutton using CMFCRibbonButtonsGroup::GetButton() .Then call CMFCRibbonButton::SetImageIndex() withthe appropriate index of the icon in the ToolBarImages object.

 

This approach works just fine,except for one minor detail: I was using 16x16 icons as status icons andnoticed that they get cropped on display to 16x15, i.e. the bottom row ofpixels is not displayed. A quick fix for this would be to specify the icon'sdimensions as 16x15 when callingLoadImage() ,but I wonder why this is necessary in the first place. I guess theCMFCRibbonButtonsGroup is to blame for this, though I don't know that classwell enough to claim anything for certain.

Edit:Turns out it really is CMFCToolBarImages's fault. For some reason, the defaulticon size here is 16x15. This can be changed by callingCMFCToolBarImages::SetImageSize() before adding the icons.

转载于:https://www.cnblogs.com/cyangyang/archive/2010/12/20/1912161.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nodejs中path的用法

在用nodejs进行开发的时候,常常要进行复杂的路径判断。对于我这种刚开始接触模块化开发的小白来说,实在是浪费很多宝贵的脑细胞(找路径bug)。 node中的path模块帮助我们方便的解决了路径设置问题。 首先将path模块引入 require(pa…

nginx $mail-send()发送邮件报错_基于SMTP协议的E-MAIL电子邮件发送客户端软件C#实现...

摘 要电子邮件在当今社会中扮演了一个很重要的角色。越来越多的人在使用它。而且用它的人数势必会继续增加。虽然,现在已经有很多的邮件收发软件例如著名的FoxMail 但是对于大多数的非专业的人来说它还是有点难度稍嫌负责。因此,我们就利用SMTP和Pop协议…

C语言求n的阶乘

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int fact(int k) {if (k > 1)return k * fact(k - 1);elsereturn 1; } int main() {int n 0;int num 0;printf("请输入一个正整数n,求n!");scanf("%d", &n);numfact(n);printf("…

oracle11g 隐藏参数_ORACLE 11GR2常用参数(含隐含参数)设置

ORACLE 11GR2常用参数(含隐含参数)设置如下&#xff1a;alter system set "_PX_use_large_pool" true scopespfile;alter system set "_clusterwide_global_transactions" false scopespfile;#RAC环境 https://www.sohu.com/a/152628320_505827alter sys…

【转】DCT变换的透彻解析

3、离散余弦变换 DCT  将图像从色彩域转换到频率域&#xff0c;常用的变换方法有&#xff1a;DCT变换的公式为&#xff1a;f(i&#xff0c;j) 经 DCT 变换之后&#xff0c;F(0&#xff0c;0) 是直流系数&#xff0c;其他为交流系数。  还是举例来说明一下。  8x8的原始图…

使用git pull文件时和本地文件冲突怎么办?

Git常用命令 具体方法如下 git pull origin 分支//出现错误git stash 缓存起来git pull origin 分支git stash pop //还原git stash clear 开发人员常常遇到这种情况&#xff1a;花了几天时间一直在做一个新功能&#xff0c;已经改了差不多十几个文件&#xff0c;突然有一个bu…

C语言计算字符串的长度

一。循环实现 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int my_strlen(char *pstr) {int num 0;while (*pstr ! \0){num;pstr;}return num; } int main() {int count 0;char str[100] { 0 };printf("请输入一个字符串");scanf("%s"…

Android 目录

Android 移动平台概述 1 Android平台简介 2 Android平台所提供的功能 3 Android框架简介 4 Android SDK 简介:包括一系列ANDROID应用开发工具和文档&#xff0c;包括调试器&#xff0c;库文件集&#xff0c;手机设备模拟器&#xff0c;文档&#xff0c;范例和开发指导。 5 An…

安防硬件WIZnet基于全硬件TCP/IP的安防产品应用及方案

在本文中,我们主要介绍安防硬件的内容,自我感觉有个不错的建议和大家分享下 WIZnet立足于生产全硬件TCP/IP协议栈芯片&#xff0c;为单片机提供理想的处置计划。整体来讲&#xff0c;其应用领域还是非常广泛的&#xff0c;以智能电表为代表的Smart Energy&#xff1b;以数字楼宇…

在屏幕上将1234逐位打印出来1,2,3,4

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void my_printf(int temp) {if (temp > 9)my_printf(temp / 10);printf("%d\n", (temp % 10)); } int main() {int num 0;printf("请输入一个数字:\n");scanf("%d", &num);…

联想将在CES上展示LePad平板

联想将在本周举行的CES展上展示其平板电脑LePad&#xff0c;迎战苹果的iPad和三星的Galaxy Tab。 联想曾经在去年的CES上展示了一款颇受瞩目的平板/笔记本混合型电脑IdeaPad U1&#xff0c;原计划在去年下半年推出&#xff0c;但因故推迟。LePad与U1平板并不相同&#xff0c;屏…

深入mysql慢查询设置的详解

深入mysql慢查询设置的详解在web开发中&#xff0c;我们经常会写出一些SQL语句&#xff0c;一条糟糕的SQL语句可能让你的整个程序都非常慢&#xff0c;超过10秒一般用户就会选择关闭网页&#xff0c;如何优化SQL语句将那些运行时间 比较长的SQL语句找出呢&#xff1f;MySQL给我…

编辑为什么建议转投_编辑回信解读 —“建议转投子刊”实例

​在给期刊投稿之后&#xff0c;首先是通过编辑审阅的&#xff0c;如果编辑这关过了才会把手稿分发给审稿人&#xff0c;进行审稿。编辑这关&#xff1a;(1)主要是对手稿的研究方向是否符合本期刊的定位&#xff1b;(2)格式、篇幅、排版等是否有重大错误或不符合期刊要求&#…

SetProcessWorkingSetSize 函数的骗局

SetProcessWorkingSetSize函数的骗局 本文引用自&#xff1a;http://hi.baidu.com/jenson138/item/e64e7e453c5b28e21381da9c 我实在不愿意提起这个话题.后来在网上看到几篇文章,深深感觉到,已经有程序员站出来,揭穿这个忽悠了千百万用户的诡计了...附2篇文章的地址:http://blo…

iframe实现页面无刷新上传文件(PHP)----备忘

之前做一个文件上传的&#xff0c;由于那段时间写ajax比较多&#xff0c;所以就想利用Ajax来实现&#xff0c;后来发现&#xff0c;Ajax没法实现文件上传&#xff0c; 后来百度之&#xff0c;这里做个备忘。 提示&#xff1a;利用form表单的target属性和iframe 一、上传文件的一…

native react 常用指令_React Native入门基础篇(一)

学习一次&#xff0c;随处书写。(以下文字来自各大网上资料整理而来&#xff0c;侵删&#xff01;)概述使用React为Android和iOS创建本机应用React Native将本机开发的最佳部分与React(用于构建用户界面的一流JavaScript库)结合在一起。 少用或多用。您现在可以在现有的Android…

C语言交换两个数(不创建临时变量)

方法一.加减法 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() {int a 10;int b 20;//加减法a a b;b a - b;//b原来的aa a - b;//a原来的b//缺点&#xff1a;若a、b为较大的数会溢出printf("%d %d", a, b);return 0; }二.异或法 #de…

zoj 3511 Cake Robbery(线段树)

题目链接&#xff1a;zoj 3511 Cake Robbery 题目大意&#xff1a;就是有一个N边形的蛋糕。切M刀&#xff0c;从中挑选一块边数最多的。保证没有两条边重叠。 解题思路&#xff1a;有多少个顶点即为有多少条边&#xff0c;所以直接依照切刀切掉点的个数排序&#xff0c;然后用线…

在Android命令行启动程序的方法

在Android中&#xff0c;除了从界面上启动程序之外&#xff0c;还可以从命令行启动程序&#xff0c;使用的是命令行工具am.启动的方法为 # am start -n 包(package)名/包名.活动(activity)名称 启动的方法可以从每个应用的AndroidManifest.xml的文件中得到&#xff0c;以计算器…