Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在win 32 c+;中的按钮上显示文本和d图标+;?_C++_Winapi - Fatal编程技术网

C++ 如何在win 32 c+;中的按钮上显示文本和d图标+;?

C++ 如何在win 32 c+;中的按钮上显示文本和d图标+;?,c++,winapi,C++,Winapi,我想同时获得图标和文本,所以我没有在按钮上设置BM_图标。在里面 WM_INITDIALOG(是的,按钮在对话框中)我说: 那么我该如何让它工作呢?我相信你想要的就是所谓的“OwnerDraw”按钮。你可以在上面混合文字和图形。您提供了3个按钮状态,它会绘制您告诉它的内容 Ownerdraw控件示例: 上面的链接可能有点极端,但您现在有了一个搜索词来查找大量示例。我记得Petzolds的“编程窗口”也有一个例子 请注意,可以使用这些按钮创建非矩形按钮。通常,当你在窗口上看到一个形状怪异的按钮时,

我想同时获得图标和文本,所以我没有在按钮上设置BM_图标。在里面 WM_INITDIALOG(是的,按钮在对话框中)我说:


那么我该如何让它工作呢?

我相信你想要的就是所谓的“OwnerDraw”按钮。你可以在上面混合文字和图形。您提供了3个按钮状态,它会绘制您告诉它的内容

Ownerdraw控件示例:

上面的链接可能有点极端,但您现在有了一个搜索词来查找大量示例。我记得Petzolds的“编程窗口”也有一个例子

请注意,可以使用这些按钮创建非矩形按钮。通常,当你在窗口上看到一个形状怪异的按钮时,他们就是这样做的

搜索示例:Win32 ownerdraw按钮

SendDlgItemMessage(hwndDlg, IDC_CREATE, BM_SETIMAGE, IMAGE_ICON, reinterpret_cast<LPARAM>(create_image));
create_image = LoadImage(g_current_instance, MAKEINTRESOURCE(IDI_ICONCREATE), IMAGE_ICON, 32, 32, LR_SHARED);