CBitmapButton的使用

CBitmapButton作为MFC的控件类,并不为很多人所使用,因为现在网上遍布着从CButton派生的各种各样的按钮类,其中最为著名的就是CButtonST类了。但是最近在CSDN上看到几个问题都是使用CBitmapButton类,但是由于使用错误、不当而造成程序崩溃或者错误的。所以总结一下CBitmapButton类的使用,希望能帮助一些初学者。 可以参考MSDN自带的例子“CTRLTEST”学习CBitmapButton的用法。

个人总结如下:

1、在资源编辑的时候选中按钮的Owner draw即可,不需要选择Bitmap属性!

2、在程序中定义一个CBitmapButton成员变量。不能使用ClassWizard为按钮映射一个CButton变量,然后改为CBitmapButton,这么做并不能将按钮直接映射为CBitmapButton类的对象,反而会出现初始化错误。

3-1、使用CBitmapButton::LoadBitmaps装载各种状态的图片,使用SubclassDlgItem关联到想要的按钮,使用CBitmapButton::SizeToContent函数使按钮适合图片大小。。注意Loadbitmaps一定要在关联到按钮之前进行!

3-2、或者是使用CBitmapButton::AutoLoad函数关联到想要的按钮。

需要注意:

A、之前不能使用CBitmapButton::LoadBitmaps装载各种状态的图片,否则会出错。

B、AutoLoad函数完成的关联和改变按钮大小的CBitmapButton::SizeToContent函数的功能。

C、CBitmapButton::AutoLoad使用的位图是默认资源ID的,即它会自动装载相关资源位图。位图的资源ID格式为:"按钮Caption+U"、"按钮Caption+D"、"按钮Caption+F"、"按钮Caption+X",分别代表Up、Down、Focus、Disable状态。如资源编辑时,希望关联的按钮的Caption为Test,那么其默认装载的位图资源的ID为:"TestU"/"TestD"/"TestF"/"TestX",注意分号""也是其ID的一部分。

转载于:https://www.cnblogs.com/zhuchao/archive/2010/07/29/1787844.html

CBitmapButton的使用(转)相关推荐

  1. CBitmapButton位图按钮简明教程

    1.新建基于对话框工程,放置一个按钮,可以适当调整大小,设置其Owner Draw属性为TRUE,右键为按钮添加变量,改变其变量类型为CBitmapButton,按确定完成: 2.初始化工作,在对话框 ...

  2. 【MFC】vs2013_MFC使用文件之15.mfc 按钮CBitmapButton的使用

    本文是基于对话框的 博文基于 无幻 的博文为基础写的 http://blog.csdn.net/akof1314/article/details/4951836 笔者使用mfc撑死2个星期,不过这是有 ...

  3. VC 位图按钮CBitmapButton的使用

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 系统环境 ...

  4. wtl中显示html,用WTL构建HTML界面应用程序(1)

    主要针对有一定Windows编程经验的读者.阅读本文需要对COM机制有一定的了解,最好掌握C++的STL,熟悉模板机制.本文假定您使用的是Visual C++(6.0以上版本),并正确安装了WTL 7 ...

  5. VC代码的编写和调试---编写易于调试的VC代码

    转自:http://www.vcgood.com/forum_posts.asp?TID=1692&PN=1 一 程序的设计 要避免错误,首先要从好的设计开始.对于程序的设计,需考虑到程序的两 ...

  6. mfc让图片与按钮一起_MFC 基础知识:对话框背景添加图片和按钮Button添加图片...

    很长时间没有看MFC相关的知识了,我大概是在大二时候学习的MFC相关知识及图像处理,现在由于要帮个朋友完成个基于C++的程序,所以又回顾了下相关知识.的确,任 // TODO: 在此添加额外的初始化代 ...

  7. MFC 基础知识:对话框背景添加图片和按钮Button添加图片

    很长时间没有接触MFC相关的知识了,我大概是在大二时候学习的MFC相关知识及图像处理,现在由于要帮个朋友完成个基于C++的程序,所以又回顾了下相关知识.的确,任何知识一段时间过后都比较容易忘记,但回顾 ...

  8. MFC/VC++中怎样设置位图按钮并且位图不会覆盖文字——–位图按钮

    1:第一次尝试 设置    IDC_BUTTON3按钮风格的bitmap为true 在OnInitialDilog中: CButton* cbpTest = NULL; HINSTANCE hInst ...

  9. MFC中 给按钮添加图片的方法

    方法一:直接给CButton加图片. 1.在资源编辑器中添加一个按钮,把它的Bitmap属性设为true 2.在按钮上点右键,添加一个变量m_Btn(CButton类型的) 3.将图片导入到资源管理器 ...

最新文章

  1. neuralcoref使用教程-指代消解
  2. CentOS7中离线安装Docker与卸载
  3. mysql5.6视频_网易视频云:MySQL 5.6 5.7最优配置文件模板
  4. 全面的GC原理及调优
  5. [JavaScript] promise中.then()方法
  6. (1)DBA查询:数据库
  7. findbugs 接口文档_Java代码审查工具findbugs的使用总结
  8. java restful项目打包_构建入门Restful Web服务
  9. mysql数据库下载和创建
  10. 数据库课设——简单的图书管理系统
  11. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
  12. 服务器选云主机还是VPS主机呢?
  13. 二十一世纪大学英语读写基础教程学习笔记(原文)——5 - Shipwrecked in Antarctica(沉船南极洲)
  14. uni app 零基础小白到项目实战-1
  15. 今天,过了27年后,IE浏览器停用了
  16. 接入高防后出现502怎么办?
  17. 任务调度 的常用的基本方式
  18. ESP32 Ubuntu开发环境搭建
  19. SLAM十四讲之第5讲--相机标定
  20. web项目高并发量网站解决方案

热门文章

  1. 专业软件测试,各类专业软件测试情况
  2. android pjsip 2.5编译,在Android中构建PJSiP时出错
  3. mysql 数据表 时间自动_MySQL数据库时间设置自动添加时间和自动更新时间
  4. mysql设置约束l命令_2、MYSQL 基本数据库命令及约束
  5. 吗 使用的是_论文是可以反复使用吗?
  6. php判据的例子,科学网—Hartle-Srednicki判据 - 李淼的博文
  7. oracle10个,OracleDBA新手经常碰到的10个Oracle错误
  8. linux 安装php 5.5_Linux下yum升级安装PHP 5.5
  9. 在Win10下如何实现VS下工程代码的开机自启功能
  10. 一次失败的Pytorch模型量化尝试