|
发表于 2021-8-11 20:53:14
|
显示全部楼层
本楼为最佳答案
OnInitDialog()中设置主题,这一步是必须的,不可省略。
- // TODO: 在此添加额外的初始化代码
- HWND hwnd = GetDlgItem(IDC_CHECK3)->GetSafeHwnd();
- SetWindowTheme(hwnd, _T(""), _T(""));
复制代码
重写OnCtlColor方法 设置颜色
- HBRUSH CMFCApplication1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
-
- // TODO: 在此更改 DC 的任何特性
- if (pWnd->GetDlgCtrlID() == IDC_CHECK3)
- {
- // 设置文本颜色
- COLORREF textColor = pDC->SetTextColor(RGB(255, 0, 0));
- // 设置背景颜色
- COLORREF bkColor = pDC->SetBkColor(0xF5F5F5);
- }
-
- // TODO: 如果默认的不是所需画笔,则返回另一个画笔
- return hbr;
- }
复制代码
继承CButton类自绘CheckBox,文本颜色、背景颜色、字体都可以自行设置,CSDN有现成的例子。 |
|