0

以下代码将盾牌图标添加到按钮:

SendMessage(btn1.Handle, BCM_SETSHIELD, 0, 1);

我已经对复选框、单选按钮组等进行了同样的尝试。除了按钮之外,没有任何效果。

有没有办法将盾牌图标添加到任何其他控件?

4

2 回答 2

2

有没有办法将盾牌图标添加到任何其他控件?

如果有问题的控件支持显示a HICON(例如静态控件),您可以通过调用常量来加载标准盾牌图标并将LoadIconWithScaleDownIDI_SHIELD分配给控件。

int cx = GetSystemMetrics( SM_CXSMICON );
int cy = GetSystemMetrics( SM_CYSMICON );
HICON hShieldIcon = NULL;
HRESULT hr = LoadIconWithScaleDown( NULL, MAKEINTRESOURCE( IDI_SHIELD ), cx, cy, 
                                    &hShieldIcon );
if( SUCCEEDED( hr ) )
{
    // Consult the reference on how to assign the HICON to the control.
}

如果有问题的控件不支持分配 a HICON,您可以使用许多控件支持的custom-draw自己绘制图标。

于 2017-11-07T12:27:30.840 回答
0

文档说 :

设置指定按钮或命令链接的提升所需状态以显示提升图标。

这意味着唯一受支持的控件是按钮和命令链接。

于 2017-11-07T09:26:30.990 回答