例如,如果你有一个静态文本控件,其ID为IDC_STATIC_TEXT,你可以在对话框类中声明一个CStatic类型的成员变量m_staticText,并将其与控件关联。 创建一个新的字体对象,并设置所需的字体颜色: 在MFC中,你可以使用CFont类来创建一个新的字体对象,并通过CDC类的SetTextColor方法来设置字体颜色。不过,需要注意的是,CFon...
pDC->SetBkColor(RGB(0,255,0));//背景色为绿色pDC->SetTextColor(RGB(255,0,0));//文字为红色pDC->SelectObject(&m_font);//文字为15号字体,华文行楷returnm_brush; }//TODO: Return a different brush if the default is not desiredreturnhbr; } 这样就可以改变static text的背景色、字体、字体大小...
1if(pWnd->GetDlgCtrlID() ==IDC_STATIC)2{3pDC->SelectObject(&m_font);//选择字体4} 3.修改颜色,也是在OnCtlColor函数中 1if(pWnd->GetDlgCtrlID() ==IDC_STATIC)2{3pDC->SetTextColor(RGB(255,0,0));//用RGB宏改变颜色 4} 4.最终代码 1HBRUSH CXXDlg::OnCtlColor(CDC* pDC, CWnd*pWnd, UINT ...
在实际的应用中,可以用WM_CTLCOLOR 消息改变mfc中控件的颜色,比如现在就来改变一个static text的背景色和字体: 1. 在对话框的类中添加两个变量: CBrush m_brush; CFont m_font; 在OnInitDialog()函数中添加: // TODO: 在此添加额外的初始化代码 m_font.CreatePointFont(150,"华文行楷"); m_brush.Create...
CFont font;//在OnInitDialog()中: //font.CreatePointFont(480, _T("宋体"));//GetDlgItem(IDC_STATIC1)->SetFont(&font);//改颜色://窗体增加WM_CTLCOLOR消息响应//在OnCtlColor()中://if (pWnd == GetDlgItem(IDC_STATIC1))//{//pDC->SetTextColor(RGB(255, 0, 0));//} ...
设置static text的颜色 我们有时想改写显示的字颜色咋整呢? 反正最常用的场景就是如果想用红色来起警示作用.在C# WinForm控件中不管是设置字体还是颜色只要在属性窗口简单的选下就行.MFC里面就有点麻烦了啊.得用消息来处理. 假如static text所在对话框(dialog),对应的类为CTextDlg; ...
如果你想把同类的控件改变颜色 可以用 if(nCtlColor==CTLCOLOR_STATIC)HBRUSH CSetPaintPenDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);// TODO: 在此更改 DC 的任何特性 // TODO: 如果默认的不是所需画笔,则...
SetBkColor(RGB(0,255,0));//背景色为绿色pDC->SetTextColor(RGB(255,0,0));//文字为红色pDC->SelectObject(&m_font);//文字为15号字体,华文行楷returnm_brush;}//TODO:Returnadifferentbrushifthedefaultisnotdesiredreturnhbr;}这样就可以改变statictext的背景色、字体、字体大小和字体颜色了。
pDC->SetTextColor(RGB(255, 255, 255)); //针对特殊的static控件,设置单独的文字颜色 } } return hbr;//不是要自绘的控件,返回默认值 2、按钮(Button)控件 一开始很奇怪,在WM_CTLCOLOR的消息处理函数进行如下操作竟然没有用: if (pWnd->GetDlgCtrlID() == IDB_TEST) //按钮文字颜色 ...