CButtonBitmap用法总结
来源:互联网 发布:怎么在淘宝开旗舰店 编辑:程序博客网 时间:2024/05/17 23:30
CBitmapButton是从CButton继承而来
CBitmapButton有两种用法,一种是用LoadBitmap,一种是AutoLoad函数
在窗口的客户区创建一个位图按钮的步骤如下:
1.为按钮创建1到4个位图。2.构造CBitmapButton对象。3.调用Create函数创建Windows按钮控件,并把它加到CBitmapButton对象上。4.调用成员函数LoadBitmaps加载位图资源。这个函数用法很简单,在Create函数时候,注意加上风格BS_OWNERDRAW,重绘属性,这是使用CBitmapButton按钮必须的CBitmapButton::LoadBitmaps
BOOL LoadBitmaps(
LPCTSTR lpszBitmapResource,
LPCTSTR lpszBitmapResourceSel = NULL,
LPCTSTR lpszBitmapResourceFocus = NULL,
LPCTSTR lpszBitmapResourceDisabled = NULL
);
BOOL LoadBitmaps(
UINT nIDBitmapResource,
UINT nIDBitmapResourceSel = 0,
UINT nIDBitmapResourceFocus = 0,
UINT nIDBitmapResourceDisabled = 0
);
在对话框控件中包含位图按钮的步骤如下:
1.为按钮创建1到4个位图。2.创建一个对话框模板,其中有一个自定义的按钮放在需要位图按钮的位置。模板中按钮的大小无关紧要。3.把按钮的标题设置为“MYIMAGE”一类的字符串,并为按钮定义一个类似于IDC_MYIMAGE的代号。4.在应用的资源脚本中,分别为每个给该按钮创建的图像一个ID,ID的值为在步骤3中的标题后加上如下的一个字母——U、D、F或X,分别代表正常、按下、获得焦点和禁止存取状态下的按钮。例如,标题设为“MYIMAGE”时,ID就应该是字符串("MYIMAGEU"、"MYIMAGED"、"MYIMAGEF"和"MYIMAGEX")。位图的ID必须用引号括起来,否则资源编辑器就会为资源赋上一个整数值,MFC在加载图像时就会失败。5.在应用的对话框类(从类CDialog继承而来)中加上一个CBitmapButton成员对象。6.在CDialog对象的OnInitDialog例程中调用CBitmapButton对象的AutoLoad函数,参数是按钮的ID和CDialog对象的this指针。这个函数比较不好用
首先资源ID是以按钮的"CAPTION+U",CAPTION+D",CAPTION+F",CAPTION+X"来命名资源ID的,注意加上双引号
其次注意CBitmapButton说明部分
同的应用对位图有不同的组合应用。如下所示:
未按下
按下
获得焦点
禁止存取
应用ⅹ
类Bitmapⅹ
ⅹ
没有设置WS_TABSTOP的按钮ⅹ
ⅹ
ⅹ
ⅹ
带有所有状态的对话框按钮ⅹ
ⅹ
ⅹ
设置WS_TABSTOP风格的对话框按钮这里我调了最久的一个BUG就是第二个,由于我只有加载了两幅位图,但是按钮的属性里面有WS_TABSTOP风格,根据表格应该有三幅位图才行,所以我一直都无法显示成功所以一定注意属性表格这一块
- CButtonBitmap用法总结
- const用法总结
- static用法总结
- PropertyGrid用法总结
- static用法总结
- sizeof 用法总结(转)
- static用法总结
- Const用法总结
- const 用法总结
- sizeof用法总结
- 水晶报表用法总结
- define用法总结
- ListBOX用法总结
- ListBOX用法总结
- static用法总结
- 正则--^$的用法总结
- 正则--[]的用法总结
- CListCtrl 用法总结
- 关于URL或JS中的URL传参中文乱码问题
- 【整理】mysql安装过程完全图解
- 字符串的长度
- 多线程同步与互斥(3)
- 一个大量TIME_WAIT解决办法
- CButtonBitmap用法总结
- 如何写网站的robots.txt和meta name robots的配置
- 欧几里德算法(辗转相除法)求最大公约数和最小公倍数
- Fixflow工作流程——介绍
- qt初体验-预应力张拉数显仪(嵌入版)
- javascript 面向对象编程
- Android 多国语言文件夹
- Linux col 命令
- Visual Studio 2010:Office 编程