自定义命令链接按钮

时间:2018-02-09 15:58:06

标签: winapi button win32gui

如何摆脱命令链接按钮(BS_COMMANDLINK)中的绿色箭头?

我知道可以通过BM_SETIMAGE将箭头更改为其他图像,但如何完全摆脱图像?

这显然可以,因为TaskDialogIndirect()为自定义按钮提供了这样的选项:TDF_USE_COMMAND_LINKS_NO_ICON。

编辑:我尝试设置NULL位图或图标 - 这没有帮助:箭头保持原位。设置1x1透明位图,例如:

    WORD bmp = 0xFF;
    HBITMAP hbmp = CreateBitmap(1, 1, 1, 1, &bmp);
    SendMessage(hbtn, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)hbmp);

确实有效,但导致左边距至少比TaskDialogIndirect()的情况宽两倍,其中图像显然根本不存在。

解决了:我也尝试了不同的按钮样式组合,希望能找到一个神奇的样式;通过Spy ++查看按钮属性 - 没有任何帮助!然后我返回到位图并尝试作为NULL的最后一个“反向”:-1(xFFFF)。宾果游戏,这就是它!没有图像的命令链接按钮:

    SendMessage(hbtn, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)-1);

0 个答案:

没有答案