win32 修改Edit控件文本顏色與背景色


#define WM_CTLCOLORMSGBOX               0x0132
#define WM_CTLCOLOREDIT                 0x0133  //編輯控件Edit
#define WM_CTLCOLORLISTBOX              0x0134  //列表控件ListBox
#define WM_CTLCOLORBTN                  0x0135  //按鈕控件BottonBox
#define WM_CTLCOLORDLG                  0x0136
#define WM_CTLCOLORSCROLLBAR            0x0137
#define WM_CTLCOLORSTATIC               0x0138  //靜態框控件StaticEdit
//上面是系統定義的各種控件的顏色消息,要修改啥控件就捕獲相應的消息
//WM_CTLCOLOREDIT 編輯控件Edit的實現 //自定義文本顏色和背景色 #define TEXTBKCOLOR RGB(224, 255, 255)//文字顏色 #define TEXTCOLOR RGB(0, 0, 255) //背景色 //在消息中捕獲到消息; case WM_CTLCOLOREDIT: OnCtlColorEdit(wParam,lParam); break; //函數實現部分: INT_PTR MmApp::OnCtlColorEdit(WPARAM wParam, LPARAM lParam) { HWND hEdit1, hedit2; hEdit1 = ::GetDlgItem(m_hWnd, IDC_EDIT1); hedit2 = ::GetDlgItem(m_hWnd, IDC_EDIT2); HDC hDc = (HDC)wParam; if (hedit2 == (HWND)lParam||hEdit1==(HWND)lParam) { ::SetTextColor(hDc, TEXTCOLOR); //RGB(0, 0, 255) ::SetBkMode(hDc, OPAQUE); //TRANSPARENT,OPAQUE //說明:TRANSPARENT是設置背景透明,但是控件多行滾動時有重影, //還沒弄明白,所以用的OPAOUE,這也不明白是啥玩意,但能達到目的就OK, ::SetBkColor(hDc, TEXTBKCOLOR); return (INT_PTR)CreateSolidBrush(TEXTBKCOLOR);//返回背景色的畫刷 } ReleaseDC(hEdit1, hDc); ReleaseDC(hedit2, hDc); return 0; }

這就是今天學習修改Edit控件顏色的成果,弄了好久,頭都弄大了,我餓了,要去吃飯去了,

修改后的樣式;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM