在用畫刷修改static text里面的字體顏色時候,會把read only的edit control里面的
字體也修改了。想請問怎么才能只修改static text控制元件的內容,而不影響read only
的edit control呢?
HBRUSH sellout::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hBrush = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor == CTLCOLOR_STATIC ) //這個static會選中read only的edit
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255, 255, 255));//設定字體為白色
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
return hBrush;
}
uj5u.com熱心網友回復:
HBRUSH hBrush = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor == CTLCOLOR_STATIC) //這個static會選中read only的edit
{
if (pWnd->GetDlgCtrlID() == IDC_STATIC_1) // IDC_STATIC_1為需要改變顏色的控制元件ID
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(255, 255, 255));//設定字體為白色
return (HBRUSH)::GetStockObject(NULL_BRUSH);
}
}
return hBrush;
uj5u.com熱心網友回復:
if(pWnd == GetDlgItem(IDC_EDIT))uj5u.com熱心網友回復:
不要用static text,自己畫文字轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/67062.html
標籤:界面
下一篇:MFC制作游戲地圖的問題
