【发布时间】:2017-08-24 13:02:59
【问题描述】:
我的应用程序有一个图片控件,它的背景是灰色的,我希望它是白色的。我已经尝试了几件事,例如:派生一个类并覆盖OnPaint 方法;回复WM_CTLCOLOR消息(添加ON_WM_CTLCOLOR()并处理它),但没有成功。
在消息地图上的条目:
ON_WM_CTLCOLOR()
实施:
BOOL CMyDialog::OnInitDialog()
{
__super::OnInitDialog();
white.CreateSolidBrush(RGB(255,255,255));
//...
return TRUE; // return TRUE unless you set the focus to a control
}
HBRUSH CMyDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
if (pWnd == GetDlgItem(IDC_PICTURE))
{
return white;
}
return __super::OnCtlColor(pDC, pWnd, nCtlColor);
}
头文件类定义:
CBrush white;
HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
【问题讨论】:
标签: image visual-c++ mfc background-color picturebox