CBitmapButton
创建用位图而不是文本做标签的按钮控件
类CBitmapButton用于创建用位图而不是文本做标签的按钮控件。CBitmapButton对象最多可包括4个位图,分别代表按钮所处的不同状态:未按下(或正常)、按下(或选中)、获得焦点和被禁止存取。只有第一个位图是必须的,其它三个可以不提供。
位图按钮图像包括图像本身以及图像的边框。边框在表示按钮的不同状态时很有用。例如,按钮获得焦点时的位图与未按下(或正常)状态的位图相同,但是在边框中要么嵌入了由间断线组成的矩形,要么嵌入了由粗实线组成的矩形。禁止存取状态的按钮的位图通常和正常状态的一样,但是颜色的对比度较小,就象变灰的菜单选项一样。
这些位图的尺寸可以不同,但都当成和正常状态下位图一样的大小处理。
不同的应用对位图有不同的组合应用。如下所示:
在创建一个位图按钮控件时,设置BS_OWNERDRAW则指明按钮是自定义的(用户自己绘制的)。这样,Windows就会为该按钮发送WM_MEASUREITEM和WM_DRAWITEM消息,由框架处理这些消息并维护按钮的外观。
在窗口的客户区创建一个位图按钮的步骤如下:
在对话框控件中包含位图按钮的步骤如下:
如果想处理Windows的通知消息,如位图按钮控件发给它的父对象(通常是从CDialog继承来的)的BN_CLICKED消息,就要在从CDialog继承来的对象中加入消息映射入口以及处理每个消息的成员函数。CBitmapButton对象发出的通知和CButton对象发出的通知一样。
类CToolBar对位图对象的实现有些不同。
参考资料
最新修订时间:2024-01-10 22:28
目录
概述
参考资料