2つのCeditと1つのCComboboxがあります。
アンダーコードが表示されます。テキストの色を黄色に設定しました。
次に、透明なテキストの背景と透明な背景を使用します。
Ceditでは完全に正常に機能します(何かを入力するときの変更は気にしません)。
しかしpDC->SetBkMode(TRANSPARENT);
、CComboboxには何もしないことに気づきました。
透明な背景を実現するためにCComboBoxをサブクラス化することは本当に望んでいません。
または、drawitemを使用する必要がありますか?
HBRUSH CValueInputDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hBrush = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor == CTLCOLOR_EDIT)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255, 255, 0));
hBrush = (HBRUSH)GetStockObject(NULL_BRUSH);
}
return hBrush;
}