天天看點

設定CEdit控件背景為透明 C++ MFC

HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

// Call the base class implementation first! Otherwise, it may

// undo what we're trying to accomplish here.

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// Are we painting the IDC_MYSTATIC control? We can use

// CWnd::GetDlgCtrlID() to perform the most efficient test.

if (pWnd->GetDlgCtrlID() == IDC_EDIT)

{

// Set the text color to red

pDC->SetTextColor(RGB(255, 0, 0));

// Set the background mode for text to transparent

// so background will show thru.

pDC->SetBkMode(TRANSPARENT);

// Return handle to our CBrush object

return (HBRUSH)::GetStockObject(NULL_BRUSH);

}

return hbr;

}