CObject |
└CCmdTarget |
└CWnd |
└CButton |
└CBitmapButton |
未按下 按下 获得焦点 禁止存取 应用
| ⅹ 类Bitmap
| ⅹ ⅹ 没有设置WS_TABSTOP的按钮
| ⅹ ⅹ ⅹ ⅹ 带有所有状态的对话框按钮
| ⅹ ⅹ ⅹ 设置WS_TABSTOP风格的对话框按钮
| |
1. | 为按钮创建1到4个位图。 |
2. | 构造CBitmapButton对象。 |
3. | 调用Create函数创建Windows按钮控件,并把它加到CBitmapButton对象上。 |
4. | 调用成员函数LoadBitmaps加载位图资源。 |
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指针。 |
CBitmapButton | 构造一个CBitmapButton对象 |
LoadBitmaps | 从应用的资源文件中加载一个或多个命名的位图初始化对象,并把位图加到对象上 |
AutoLoad | 把对话框中的一个按钮与一个CBitmapButton对象联系上,加载位图并调整按钮的大小以放下位图 |
SizeToContent | 调整按钮的大小以放下整个位图 |