如何在C++中制作图标按钮

发布于 2024-07-15 01:06:31 字数 109 浏览 6 评论 0原文

我知道如何在 C++ 中绘制一个按钮,但我如何在上面制作一个图标,有人可以发布源代码或提供参考吗? 通过 SendMessage() 或如果不是这样请粘贴 请需要更简单的答案,没有那么多文件,我有点新

I know how to draw a button in C++ but how would i make an icon on it can someone post source or give reference please? by SendMessage() or if not that way just please paste
Please need easier anwsers without so many files im new a bit

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

铁憨憨 2024-07-22 01:06:31

由于您是新手,您可能还希望查阅 MSDN 库。 您可以找到有关按钮样式的信息(请参阅具体来说,BS ICON 和 BS BITMAP 样式)和 BM_SETIMAGE 消息

Since you're new, you may also wish to consult the MSDN Library. You can find information on Button Styles (see, specifically, the BS ICON and BS BITMAP styles) and the BM_SETIMAGE message .

青萝楚歌 2024-07-22 01:06:31

如果您使用 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) ); 

这非常有效。

If you use MFC then I would recommend you to use the following CButton method 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) ); 

This works very well.

二手情话 2024-07-22 01:06:31

发送 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标志

send BM_SETIMAGE message, and pass loaded image handle to 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);

P.S: you need to use BS_BITMAP flag when CreateWindow()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文