用ScrollWindow时,Edit控件背景框变黑。
在OnCtlColor中SetBkMode(TRANSPARENT)无效。
思考了一下,是因为我在每次对话框重绘时,用纯白画刷刷了一遍对话框,但是控件所在区域应该是没有被刷到的。此时设置Edit透明,把Edit控件所在区域漏了出来,所以变黑。
解决办法:用白色画刷,刷一遍Edit的背景即可。
if (nCtlColor == CTLCOLOR_EDIT &&pWnd->GetDlgCtrlID() == IDC_EDIT_SET_ADDRESS)
{
pDC->SetBkColor(RGB(255, 255, 255));
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)GetStockObject(NULL_BRUSH);
}