Я хочу сделать фон элемента редактирования прозрачным и изменить цвет текста на белый. Я могу сделать их оба с помощью этой функции, единственная проблема в том, что когда вы печатаете в редакторе, текст продолжает накладываться, для примера перейдите по ссылке. Я считаю, что проблема в NULL_BRUSH
, что делает фон прозрачным, потому что если я изменяю только цвет текста, он работает нормально, к сожалению, мне нужны оба. Как я могу это сделать?
HBRUSH CDlg::OnCtlColor(CDC* pDc, CWnd* pWnd, UINT nCtlColor){
HBRUSH hbr = NULL;
switch (nCtlColor) {
case CTLCOLOR_EDIT:
if (pWnd->GetDlgCtrlID() == editControl){
pDc->SetBkMode(TRANSPARENT);
pDc->SetBkColor(TRANSPARENT);
pDc->SetTextColor(RGB(255, 255, 255));
hbr = (HBRUSH)GetStockObject(NULL_BRUSH);
}
break;
default:
hbr = CDialogEx::OnCtlColor(pDc, pWnd, nCtlColor);
}
return hbr;
}