我知道如何在 C++ 中绘制一个按钮,但我将如何在其上制作一个图标,有人可以发布源代码或提供参考吗?通过 SendMessage() 或者如果不是这样,请粘贴
H4cKL0rD
问问题
11491 次
3 回答
6
由于您是新手,您可能还希望查阅 MSDN 库。您可以找到有关按钮样式的信息(具体参见 BS ICON 和 BS BITMAP 样式)和BM_SETIMAGE 消息。
于 2009-03-11T02:53:11.823 回答
3
如果您使用 MFC,那么我建议您使用以下CButton
方法SetIcon
:
CButton myButton;
// Create an icon button.
myButton.Create(_T("My button"), WS_CHILD|WS_VISIBLE|BS_ICON,
CRect(10,10,60,50), pParentWnd, 1);
// Set the icon of the button to be the system question mark icon.
myButton.SetIcon( ::LoadIcon(NULL, IDI_QUESTION) );
这很好用。
于 2009-03-11T02:40:41.370 回答
1
发送 BM_SETIMAGE 消息,并将加载的图像句柄传递给 lParam。
button1 = CreateWindowW(L"BUTTON", L"&Button", WS_VISIBLE | WS_CHILD | WS_TABSTOP | BS_BITMAP, 20, 50, 80, 25, hwnd, (HMENU) 600, NULL, NULL);
hImg = LoadImageW(NULL, L"test123.bmp", IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR | LR_DEFAULTSIZE | LR_LOADFROMFILE);
SendMessageW(button1, BM_SETIMAGE, IMAGE_BITMAP, (LPARAM) hImg);
PS: CreateWindow() 时需要使用 BS_BITMAP 标志
于 2014-01-16T16:59:28.030 回答