MFC窗口的颜色和字体的设置
来源:互联网 发布:淘宝流量钱包 编辑:程序博客网 时间:2024/05/20 21:45
1、改变对话框的底色
在对话框的类中添加一个 private : CBrush m_brush;的成员变量。在类的构造函数中添加如下代码:
m_brush.CreateSolidBrush(RGB(0,0,255)); //初始化为蓝色
为对话框添加一个WM_CTLCOLOR消息响应函数,专门为控件着色的消息响应函数,代码如下:
- HBRUSH CSettingDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
- //return hbr; /*这里特意将系统返回的画刷屏蔽*/
- return m_brush; /*返回自己制定的蓝色画刷*/
- }
- if (pWnd->GetDlgCtrlID()==IDC_LINE_STYLE) /*如果控件的名称为IDC_LINE_STYLE*/
- {
- pDC->SetTextColor(RGB(0,255,0)); /*将色彩容器中的文字颜色设置为绿色*/
- //pDC->SetBkMode(TRANSPARENT); /*设置文字的背景为透明,否则文字背景认为系统默认色*/
- pDC->SetBkColor(RGB(255,0,0)); /*设置文字的背景色,注意如果写了上面句的话,背景色无效*/
- return m_brush; /*返回1中自定义的画刷句柄,这里注意虽然要求返回的是画刷的句柄,但是我们这里放置一个CBrush对象,不会出错。是因为CBrush有一个HBRUSH的重载*/
- }
- return hbr; /*否则的话返回系统默认的画刷句柄*/
3、利用上面的原理,在对话框控件响应OnPaint消息时,将一个静态文本显示所设置字体的文字。添加一个静态文本框,改名为IDC_TEXT。添加一个字体成员变量 private: CFont font;在对话框的构造函数中对字体进行初始化: m_font.CreatePointFont(200,"华文行楷");在2的return hbr;之前加入如下代码:
- if (pWnd->GetDlgCtrlID()==IDC_TEXT) /*如果为ID号所指的静态文本框*/
- {
- pDC->SelectObject(&m_font); /*则将绘图设备加入所需的字体。*/
- }
3、如果要改变OK按钮的文字颜色,靠上面的方式是不行的。我们需要创建一个新的从CButton类继承的CTestBtn类,并用类向导添加一个类的DrawItem的虚函数,加入以下代码(可以从CButton的例子中复制):
- // TODO: Add your code to draw the specified item
- UINT uStyle = DFCS_BUTTONPUSH;
- // This code only works with buttons.
- ASSERT(lpDrawItemStruct->CtlType == ODT_BUTTON);
- // If drawing selected, add the pushed style to DrawFrameControl.
- if (lpDrawItemStruct->itemState & ODS_SELECTED)
- uStyle |= DFCS_PUSHED;
- // Draw the button frame.
- ::DrawFrameControl(lpDrawItemStruct->hDC, &lpDrawItemStruct->rcItem, DFC_BUTTON, uStyle);
- // Get the button's text.
- CString strText;
- GetWindowText(strText);
- // Draw the button text using the text color red.
- COLORREF crOldColor = ::SetTextColor(lpDrawItemStruct->hDC, RGB(255,0,0));/*设置按钮的字体为红色。将返回的原先的颜色暂时保存*/
- ::DrawText(lpDrawItemStruct->hDC, strText, strText.GetLength(),
- &lpDrawItemStruct->rcItem, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
- ::SetTextColor(lpDrawItemStruct->hDC, crOldColor);
- MFC窗口的颜色和字体的设置
- MFC窗口的颜色和字体的设置
- MFC窗口的颜色和字体的设置
- MFC窗口的颜色和字体的设置
- MFC窗口的颜色和字体的设置
- MFC窗口各控件的颜色和字体的设置
- MFC窗口各控件的颜色和字体的设置
- MFC窗口各控件的颜色和字体的设置
- MFC窗口的颜色和字体的设置
- MFC窗口各控件的颜色和字体的设置
- MFC窗口各控件的颜色和字体的设置【转】
- MFC窗口各控件的颜色和字体的设置(转)
- MFC窗口颜色的设置
- MFC如何设置对话框的背景和字体颜色
- MFC中设置static text的字体和颜色[转]
- MFC如何设置对话框的背景和字体颜色
- mfc中设置statictext的字体和颜色
- navigationbar颜色和字体颜色的设置
- Lucene入门一(转)
- 利用JS获取IE客户端IP及MAC的实现
- 千家重点房企遭调查 三成房企承认资金紧张
- Google Chrome 初试手记
- 第1章 启蒙——1.2 什么是计算机
- MFC窗口的颜色和字体的设置
- 转:网址-1
- Delphi图像处理 -- 填充浮雕
- 第1章 启蒙——1.3 什么是硬件、软件
- 不要有先入为主的观念!!!
- 第1章 启蒙——1.4 什么是程序
- Response.IsClientConnected 原理和用法
- 和角公式
- 超级实用且不花哨的js代码大全