MFC - 位图按钮



一个位图按钮在其表面显示图片或图片和文本。这通常是为了使按钮更明确。位图按钮是使用CBitmapButton 类创建的,该类派生自 CButton。

以下是 CBitmapButton 类中的方法列表。

序号 名称和描述
1

AutoLoad

将对话框中的按钮与 CBitmapButton 类的对象关联,按名称加载位图,并调整按钮大小以适应位图。

2

LoadBitmaps

通过从应用程序的资源文件加载一个或多个命名位图资源并将位图附加到对象来初始化对象。

3

SizeToContent

它将按钮大小调整到位图的大小。

以下是位图按钮控件的消息映射列表:

消息 映射条目 描述
BN_CLICKED ON_BN_CLICKED( <id>, <memberFxn> ) 单击按钮时,框架将调用此成员函数。
BN_DISABLE ON_BN_DISABLE( <id>, <memberFxn> ) 禁用按钮时,框架将调用此成员函数。
BN_DOUBLECLICKED ON_BN_DOUBLECLICKED( <id>, <memberFxn> ) 双击按钮时,框架将调用此成员函数。
BN_PAINT ON_BN_PAINT( <id>, <memberFxn> ) 当应用程序请求重绘按钮时,框架将调用此成员函数。

让我们通过创建一个新项目来了解一个简单的示例。

步骤 1 - 从“添加资源”对话框中添加位图。

Add Resource Dialog

步骤 2 - 选择位图并单击“新建”。

Select BitmapButton

步骤 3 - 设计您的位图并将其 ID 更改为 IDB_BITMAP_START,如上所示。

步骤 4 - 将按钮添加到对话框中,并为该按钮添加一个控件变量 m_buttonStart。

步骤 5 - 在您的头文件中添加一个位图变量。您现在可以看到以下两个变量。

CBitmap m_bitmapStart;
CButton m_buttonStart;

步骤 6 - 修改您的 OnInitDialog() 方法,如下面的代码所示。

m_bitmapStart.LoadBitmap(IDB_BITMAP_START);
HBITMAP hBitmap = (HBITMAP)m_bitmapStart.GetSafeHandle();
m_buttonStart.SetBitmap(hBitmap);

步骤 7 - 编译并执行上述代码后,您将看到以下输出。

BitmapButton Output
mfc_windows_controls.htm
广告
© . All rights reserved.