收藏 分享(赏)

CBitmapButton类.doc

上传人:11xg27ws 文档编号:9295177 上传时间:2019-08-01 格式:DOC 页数:2 大小:43.50KB
下载 相关 举报
CBitmapButton类.doc_第1页
第1页 / 共2页
CBitmapButton类.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、CBitmapButtonCObjectCCmdTargetCWndCButtonCBitmapButton类 CBitmapButton 用于创建用位图而不是文本做标签的按钮控件。CBitmapButton 对象最多可包括 4 个位图,分别代表按钮所处的不同状态:未按下(或正常)、按下(或选中)、获得焦点和被禁止存取。只有第一个位图是必须的,其它三个可以不提供。位图按钮图像包括图像本身以及图像的边框。边框在表示按钮的不同状态时很有用。例如,按钮获得焦点时的位图与未按下(或正常)状态的位图相同,但是在边框中要么嵌入了由间断线组成的矩形,要么嵌入了由粗实线组成的矩形。禁止存取状态的按钮的位图通常

2、和正常状态的一样,但是颜色的对比度较小,就象变灰的菜单选项一样。这些位图的尺寸可以不同,但都当成和正常状态下位图一样的大小处理。不同的应用对位图有不同的组合应用。如下所示: 未按下 按下 获得焦点 禁止存取 应用 类 Bitmap 没有设置 WS_TABSTOP 的按钮 带有所有状态的对话框按钮 设置 WS_TABSTOP 风格的对话框按钮 在创建一个位图按钮控件时,设置 BS_OWNERDRAW 则指明按钮是自定义的(用户自己绘制的)。这样,Windows 就会为该按钮发送 WM_MEASUREITEM 和WM_DRAWITEM 消息,由框架处理这些消息并维护按钮的外观。在窗口的客户区创建一

3、个位图按钮的步骤如下: 1. 为按钮创建 1 到 4 个位图。 2. 构造 CBitmapButton 对象。 3. 调用 Create 函数创建 Windows 按钮控件,并把它加到 CBitmapButton 对象上。 4. 调用成员函数 LoadBitmaps 加载位图资源。 在对话框控件中包含位图按钮的步骤如下: 1. 为按钮创建 1 到 4 个位图。 2. 创建一个对话框模板,其中有一个自定义的按钮放在需要位图按钮的位置。模板中按钮的大小无关紧要。 3. 把按钮的标题设置为“MYIMAGE”一类的字符串,并为按钮定义一个类似于IDC_MYIMAGE 的代号。 4. 在应用的资源脚本中

4、,分别为每个给该按钮创建的图像一个 ID,ID 的值为在步骤 3 中的标题后加上如下的一个字母U、D、F 或 X,分别代表正常、按下、获得焦点和禁止存取状态下的按钮。例如,标题设为“MYIMAGE”时,ID 就应该是字符串(“MYIMAGEU“、“MYIMAGED“、“MYIMAGEF“和“MYIMAGEX“)。位图的 ID 必须用引号括起来,否则资源编辑器就会为资源赋上一个整数值,MFC 在加载图像时就会失败。 5. 在应用的对话框类(从类 CDialog 继承而来)中加上一个 CBitmapButton 成员对象。 6. 在 CDialog 对象的 OnInitDialog 例程中调用 C

5、BitmapButton 对象的AutoLoad 函数,参数是按钮的 ID 和 CDialog 对象的 this 指针。 如果想处理 Windows 的通知消息,如位图按钮控件发给它的父对象(通常是从CDialog 继承来的)的 BN_CLICKED 消息,就要在从 CDialog 继承来的对象中加入消息映射入口以及处理每个消息的成员函数。CBitmapButton 对象发出的通知和 CButton 对象发出的通知一样。类 CToolBar 对位图对象的实现有些不同。要了解有关 CBitmapButton 的更详细信息,请参阅联机文档“Visual C+程序员指南”的“控件主题”部分。#include CBitmapButton 类的成员构造函数 CBitmapButton 构造一个 CBitmapButton 对象 LoadBitmaps 从应用的资源文件中加载一个或多个命名的位图初始化对象,并把位图加到对象上 AutoLoad 把对话框中的一个按钮与一个 CBitmapButton 对象联系上,加载位图并调整按钮的大小以放下位图 操作 SizeToContent 调整按钮的大小以放下整个位图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报