Button C按钮加载HBITMAP并隐藏普通按钮背景

Button C按钮加载HBITMAP并隐藏普通按钮背景,button,visual-c++,bitmap,appearance,cbutton,Button,Visual C++,Bitmap,Appearance,Cbutton,我有一个CButton对象。 我在资源编辑器中添加了一个位图文件。 我做了以下工作: CButton m_btnClose; (in header file) if (GetDlgItem(IDC_BUTTON_CLOSE)) { HBITMAP hBMP = LoadBitmapW(AfxGetResourceHandle(), MAKEINTRESOURCE(IDC_BITMAP_CLOSE)); m_btnClose.ModifyStyle(0, BS_BITMAP);

我有一个CButton对象。 我在资源编辑器中添加了一个位图文件。 我做了以下工作:

CButton m_btnClose; (in header file)

if (GetDlgItem(IDC_BUTTON_CLOSE))
{
    HBITMAP hBMP = LoadBitmapW(AfxGetResourceHandle(), MAKEINTRESOURCE(IDC_BITMAP_CLOSE));
    m_btnClose.ModifyStyle(0, BS_BITMAP);
    m_btnClose.SetBitmap(hBMP);
}
位图实际上已加载并应用于按钮,但您可以清楚地看到它后面的常规按钮背景。忽略按钮背景与周围区域的颜色不同这一事实


基本上有两种选择:(a)拉伸位图以覆盖整个按钮(需要技巧);(b) 调整按钮的大小以“适合”位图(需要一些工作)。感谢提供这些信息。我不敢相信没有办法隐藏按钮的正常外观。例如,可能只是使用BS_位图标志修改样式,自动隐藏它,或使用附加标志BS_HIDE_外观。无论如何,我想我会调整按钮的大小,使其与位图的尺寸相等。再次感谢。