如何自定义我的按钮?
Posted
技术标签:
【中文标题】如何自定义我的按钮?【英文标题】:How do i customize my buttons? 【发布时间】:2015-09-09 14:31:58 【问题描述】:我是 MFC 的新手, 如何以这样的方式自定义按钮
-
应该在背景中绘制。
应该能够在绘制区域放置图像并且
应在绘制区域添加文字。
浏览互联网后,我知道一旦使用 BS_OWNERDRAW 样式创建按钮,我们需要重写 DrawItem 方法, 如何覆盖 DrawItem 方法?
(使用 SDI 的 MFC 应用程序,)
【问题讨论】:
您覆盖DrawItem
的方式与覆盖C++ 中的任何其他类成员的方式相同。我不确定这是否是您要问的问题。
【参考方案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"));
【讨论】:
背景应该涂上一些纯色,然后再添加图像/文本。我该怎么做? 不,它是用于基于 dlg 的应用程序,我要的是 SDI以上是关于如何自定义我的按钮?的主要内容,如果未能解决你的问题,请参考以下文章