我如何自定义我的按钮?

时间:2015-09-09 14:31:59

标签: c++ visual-studio visual-studio-2010 mfc sdi

我是MFC的新手, 如何以

的方式自定义按钮
  1. 它应该在背景中绘制。
  2. 应该可以在彩绘区域放置图像和
  3. 应在彩绘区域添加文字。
  4. 浏览互联网后,我知道一旦用BS_OWNERDRAW样式创建按钮,我们需要覆盖DrawItem方法, 我怎样才能覆盖DrawItem方法?

    (使用SDI的MFC应用程序)

1 个答案:

答案 0 :(得分: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"));