为什么设置MFC文本框的背景颜色只有一行是设置的?而不是整个填充的?
1个回答
展开全部
重载 WM_CTLCOLOR
HBRUSH CDlgTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何属性
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
pDC->SetTextColor(RGB(0, 255,12));
pDC->SetBkMode(TRANSPARENT);
return ::CreateSolidBrush(RGB(255, 12,12));
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
HBRUSH CDlgTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何属性
if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
{
pDC->SetTextColor(RGB(0, 255,12));
pDC->SetBkMode(TRANSPARENT);
return ::CreateSolidBrush(RGB(255, 12,12));
}
// TODO: 如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询