代码之家  ›  专栏  ›  技术社区  ›  Suri

如何在win32c++中显示按钮上的文本和d图标[[副本]

  •  2
  • Suri  · 技术社区  · 15 年前

    我想得到图标和文本,所以我没有设置我的按钮bmu图标。在 WM\u INITDIALOG(是的,按钮在对话框中)我说:

    SendDlgItemMessage(hwndDlg, IDC_CREATE, BM_SETIMAGE, IMAGE_ICON, reinterpret_cast<LPARAM>(create_image));
    

    它不起作用。按钮仅显示文本。现在,如果我真的设置了bsu图标 风格,它的作品,但没有文本,如文件所述。 为了以防万一,create\u image实例化如下:

    create_image = LoadImage(g_current_instance, MAKEINTRESOURCE(IDI_ICONCREATE), IMAGE_ICON, 32, 32, LR_SHARED);
    

    那我该怎么做呢?

    1 回复  |  直到 15 年前
        1
  •  1
  •   JustBoo    15 年前

    我相信你想要的是一个“OwnerDraw”按钮。你可以在上面混合文字和图形。你提供了3个按钮状态,它会画出你所说的。

    http://www.codeguru.com/cpp/controls/buttonctrl/advancedbuttons/article.php/c5161

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

    请注意,可以使用这些按钮制作非矩形按钮。一般来说,当你在窗口看到一个形状怪异的按钮时,他们就是这样做的。

    搜索示例:Win32 ownerdraw按钮。