0

我是 MFC 的新手,如何以这样的方式自定义按钮

  1. 它应该在背景中绘制。
  2. 应该能够在绘画区域放置图像并且
  3. 应该在绘制区域添加文本。

浏览互联网后,我知道一旦使用 BS_OWNERDRAW 样式创建按钮,我们需要覆盖 DrawItem 方法,如何覆盖 DrawItem 方法?

(使用 SDI 的 MFC 应用程序,)

4

1 回答 1

1

在全局变量中:

CButton button;

在 DoDataExchange 中:

DDX_Control(pDX, IDC_BUTTON, button);

其中 IDC_button 在您的对话框资源上声明,pDX 是您的 CDataExchange

要添加图像的位置:

button.SetBitmap((HBITMAP)LoadImage(AfxGetApp()->m_hInstance,
        MAKEINTRESOURCE(IDB_BITMAP1),
        IMAGE_BITMAP, 16, 16, LR_COLOR));

其中 m_hInstance 是您的 CWinApp,IDB_BITMAP1 是资源图片。

对于文本:

  button.SetWindowTextW(_T("TEXT"));
于 2015-09-09T15:30:43.040 回答