如何自定义我的按钮?

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

以上是关于如何自定义我的按钮?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone - 如何使用我的纹理背景自定义 UINavigationBar 后退按钮

如何将箭头控件设置为自定义按钮

如何在自定义按钮颤动中给 onPressed 一个方法

单击自定义按钮时如何创建视图

如何使用自定义单元格根据按钮值加载表格视图?

如何在颤动中自定义切换按钮[关闭]