ATL中修改文本控件的文本顏色

1、添加以下宏,處理WM_CTLCOLOR*消息

 

MESSAGE_HANDLER(WM_CTLCOLOR*, OnCtlColor)

 

2、在OnCtlColor中:

LRESULT CAboutDlg::OnCtlColor(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
       CWindow  wndText1 = GetDlgItem(IDC_TEXT1);

       HDC  hdc = (HDC)wParam;

       if ( (HWND)lParam == wndText1 .m_hWnd )
       {

            ::SetTextColor(hdc, RGB(255, 0, 0));
            ::SetBkColor(hdc, ::GetSysColor(CTLCOLOR_DLG));

 

            // 返回一個畫刷告知該消息已處理,不用執行默認動作了
            return (LRESULT)::GetSysColorBrush(CTLCOLOR_DLG);       

        }

        return 0;
}

發佈了46 篇原創文章 · 獲贊 6 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章