孙鑫老师的VC++视频课程中,Lesson10有一段源码:
if(pWnd->GetDlgCtrlID()==IDC_EDIT1)
{
pDC->SetTextColor(RGB(255,0,0)); 1
pDC->SetBkMode(TRANSPARENT); 2
// pDC->SetBkColor(RGB(0,0,255)); 3
return m_brush;
}这个是要改变编辑框的文字与背景色,我电脑上只调用1,2句就可以了,没必要用第3条替换第2条。老师讲的要调用1,3条。
if(pWnd->GetDlgCtrlID()==IDC_EDIT1)
{
pDC->SetTextColor(RGB(255,0,0)); 1
pDC->SetBkMode(TRANSPARENT); 2
// pDC->SetBkColor(RGB(0,0,255)); 3
return m_brush;
}这个是要改变编辑框的文字与背景色,我电脑上只调用1,2句就可以了,没必要用第3条替换第2条。老师讲的要调用1,3条。
if(pWnd->GetDlgCtrlID()==IDC_EDIT1)
{
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(0,0,255));
return m_brush;
}
if(pWnd->GetDlgCtrlID()==IDC_EDIT1)
{
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT); return m_brush;
}
请问MSDN上的原话是什么意思:
To change the background color of a single-line edit control, set the brush handle in both the CTLCOLOR_EDIT and CTLCOLOR_MSGBOX message codes, and call the CDC::SetBkColor function in response to the CTLCOLOR_EDIT code.
pDC->SetBkMode(TRANSPARENT); 2
pDC->SetBkColor(RGB(0,0,255)); 3
这三句话放在一起,我觉得第3句话没什么意义,您可以自己试试看