如何在mfc上的按钮上显示图标和文字?

时间:2010-08-13 08:57:32

标签: c++ mfc

使用的代码:

m_pButton->Create(L"ABC", WS_CHILD | WS_VISIBLE| BM_SETIMAGE,CRect(0,0,100,100),this,ID_BUTTON1);

m_pButton->SetIcon(::LoadIcon(AfxGetApp()->m_hInstance, MAKEINTRESOURCE(IDI_ICON1)));

//代码上方显示的图片均未显示图片。

5 个答案:

答案 0 :(得分:3)

如果您使用的是VS 2008 SP1或更高版本,则可以使用CMFCButton

答案 1 :(得分:2)

BM_SETIMAGE不是按钮样式,而是发送到窗口以设置位图的消息。 你可能想要的是BS_BITMAP风格。不幸的是,据我所知,标准按钮上不能同时包含文本和位图。但是你应该在codeguru或codeproject等网站上找到大量自定义按钮类的工作实现。

答案 2 :(得分:0)

WPF也许可以做到这一点。但是,无论如何,改变GUI topkits可能都不是一种选择。

答案 3 :(得分:0)

您可以覆盖CButton中的DrawItem方法。有关详细信息,请查看以下链接:

CButton::DrawItem

Owner drawn button - step by step

答案 4 :(得分:0)

必须同时取消

BS_ICON BS_BITMAP 才能在同一按钮上启用图标和文字。

请参阅https://msdn.microsoft.com/en-us/library/bb761822(VS.85).aspx