CBitmapButton 类

CBitmapButton 类

CBitmapButton 类


创建位图图像替代文本标记的按钮控件。


Class CBitmapButton :  public  CButton


备注


CBitmapButton 对象包含多达四个位图,为按钮的不同状态包含图像:up(or normal),down(or selected),focused,和disabled
。只有第一个位图是必须的;其他都是可以选择的。

位图按钮(Bitmap-button)图像包括图像的边框以及图像本身。边框通常扮演部分显示按钮的状态。例如,focused状态下的位图通

常和up状态下的一样,但是它的边框是矩形虚线或者粗实线。disabled状态下的位图通常类似于up状态但是对比度较低(如暗灰色

或者灰色菜单选择)。

这些位图可以是任意大小,但是对于up状态它们都被视为同样大小。

各种应用要求位图图像的不同组合:

Up Down Focused Disabled 应用
*                                     位图
*   *                                没有WS_TABSTOP样式的按钮
*   *        *           *          带有所有状态的对话框按钮
*   *        *                      带有WS_TABSTOP样式的对话框按钮

当创建一个位图按钮控件,设置BS_OWNERDRAW样式指定按钮为自己绘制的。这使Windows为按钮发送WM_MEASUREITEMWMDRAWITEM

消息。框架为你处理这些消息和管理按钮的外观。

 

在windows客户区域创建位图按钮控件
   1、为按钮创建一到四个位图。
   2、构建CBitmapButton对象。
   3、调用Create函数创建按钮控件,然后附加到 CBitmapButton对象上。
   4、当位图按钮构造好后,调用LoadBitmaps成员函数来加载位图资源。

一个对话框中包括一个位图按钮
   1、为按钮创建一到四个位图。
   2、创建一个带有自绘(owner-draw)按钮的对话框模板,按钮放置在你想要的位图按钮的地方。
   3、设置按钮的caption为" MYIMAGE",按钮定义符号为 IDC_MYIMAGE
   4、在你应用程序的资源脚本中,在步骤3中为每个为按钮创建的图形设置标题为ID加一个字母,"U","D","F",或者"X"(对应于up,down,focused,和disabled)的字符串。例如,像标题为"MYIMAGE"的按钮,它们的ID为" MYIMAGEU"," MYIMAGED"," MYIMAGEF",和" MYIMAGEX."你 必须指定位图的ID要有双引号。否则资源编译器将制定一个整数的资源,那么MFC在加载图片时就会失败。
   5、在你的应用程序的对话框类(继承自 CDialog)中,增加一个 CBitmapButton成员对象。
   6、在 CDialog对象的OnInitDialog例程中,调用 CBitmapButton对象的AutoLoad函数,按钮控件的ID和CDialog对象的指针作为参数。

如果你想处理窗口信息,像 BN_CLICKED,位图按钮控件发送给它的父(通常是一个从 CDialog派生的类),为 CDialog派生对象增加一个消息映射入口,和每个消息处理成员函数。 CBitmapButton对象发送的通知跟CButton是一样的。

类CToolBar对位图按钮采用不同的方法。

更多关于 CBitmapButton的信息,参考Controls。

要求

头文件:afxext.h

参考

CTLRLTEST sample:Implements Custom Controls
CBitmapButton Members
CButton Class
Hierarchy Chart


原文:

http://msdn.microsoft.com/zh-cn/library/a3y45xs0(v=vs.90).aspx
 

你可能感兴趣的:(CBitmapButton 类)