VC中CStatic设置文字、字体、颜色和OnCtlColor的使用
2014-08-18 23:41
417 查看
由于CStatic没有现成的接口,要么自己继承CStatic然后重写WM_CTLCOLOR的响应函数。要么在父窗口重写WM_CTLCOLOR的响应函数,然后调用相应的接口来改变文字颜色,原理如下: “在绘制控件前,Windows向该控件的父窗口发送一条WM_CTLCOLOR消息,目的是获得该控件的颜色”,在该响应函数中修改颜色的参数。
HBRUSH CAboutDig::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { if (nCtlColor == CTLCOLOR_STATIC) { pDC->SetTextColor(RGB(0,0,255)); //设置字体颜色 pDC->SetBkMode(TRANSPARENT); //设置背景透明 } }第三个参数OnCtlColor主要有以下的值:CTLCOLOR_BTN 按钮控件CTLCOLOR_DLG 对话框CTLCOLOR_EDIT 编辑框CTLCOLOR_LISTBOX 列表框CTLCOLOR_MSGBOX 消息框CTLCOLOR_SCROLLBAR 滚动条CTLCOLOR_STATIC 静态文本2.你可能觉得对所有的控件使用统一的界面设置觉得不自由,其实VC同样可以对特定的ID的控件进行设置,方法如下:
switch(pWnd->GetDlgCtrlID()) { //针对ID为IDC_CTL1、IDC_CTL2和IDC_CTL3的控件进行同样的设置 case IDC_CTL1: case IDC_CTL2: case IDC_CTL3: { pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(255,255, 0)); pWnd->SetFont(cFont); HBRUSH B = CreateSolidBrush(RGB(125,125,255)); return (HBRUSH) B; } default: return CDialog::OnCtlColor(pDC, pWnd, nCtlColor); }
HBRUSH CAFamlyLianxiDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor); if(nCtlColor == CTLCOLOR_STATIC) { switch(pWnd->GetDlgCtrlID()) { case IDC_STATIC1: case IDC_STATIC2: case IDC_STATIC3: case IDC_STATIC4: case IDC_STATIC5: case IDC_STATIC6: { pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(0,0, 255)); break; } case IDC_STATIC7: case IDC_STATIC8: { pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(0,69, 214)); break; } default: break; } } return hbr;
相关文章推荐
- VC中CStatic设置文字、字体、颜色和OnCtlColor的使用
- MFC Static文字的字体、大小、颜色设置
- MFC 使用static控件显示时间 并设置控件的字体格式和颜色
- 使用NSMutableAttributedString为UIButton/UILabel 快速设置文字的大小,字体,颜色
- VC中控件字体与文本颜色的设置
- 设置文本框某几行文字颜色(RichEdit控件的使用)
- vc可设置字体和颜色的按钮
- edit控件中如何设置字体的颜色,并把一行文字设置成不同大小。
- VC设置控件字体颜色
- android 设置Spinner文字标题颜色 字体大小样式
- 使用Qt 4如何设置QLabe中字体的颜色
- vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- vc可设置字体和颜色的按钮 源代码
- vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- 关于设置对话框的背景颜色,和设置控件的字体颜色或背景颜色VC++
- VC设置控件字体颜色
- vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- JTextPane的例子,模拟聊天客户端,演示了为每段文字设置字体、字号、样式、颜色、背景色和插入图片功能
- vc 根据字体对话框和颜色对话框设置控件里的字体和颜色
- 使用IDISPLAY_SetColor设置字体颜色的方法