如何使用 MFC 的 CBitmapButton 类创建位图按钮

MFC 是微软提供的一个类库,以 c++ 的方式封装了 windows API,虽然是一个年代比较久远的工具,但是在 VS 的配合下还是可以很方便的创建一些简单的 win32 风格的应用程序界面,本文介绍了如何使用 MFC 中提供的 CBitmapButton 类来创建一个基于图片的按钮

正常使用 CBitmapButton 需要具备以下几个条件:

  • Style 必须包含 BS_OWNERDRAW,例如在资源文件中:
CONTROL		"CANCEL", IDCANCEL, "Button", BS_OWNERDRAW | WS_TABSTOP,110,39,40,30
  • 在对话框的构造函数中读取位图资源,例如:
//  需要加载四个位图资源,分别用于四种状态:正常,按下,移入鼠标,禁用
m_oBitmapButton.LoadBitmaps(IDB_BITMAP_UP, IDB_BITMAP_DOWN, IDB_BITMAP_FOCUS, IDB_BITMAP_DISABLE);
  • 在对话框初始化函数中调整按钮尺寸:
m_oBitmapButton.SizeToContent();

这样应该就可以在对话框中看到新增的位图按钮了。