VC设置控件的字体颜色和背景颜色
//下面的函数是窗体的系统函数
HBRUSH CAutoARDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch(nCtlColor)
{
case CTLCOLOR_STATIC: //对所有静态文本控件的设置
{
if(pWnd->GetDlgCtrlID()==IDC_STATIC0000)
{
pDC->SetTextColor(RGB(255,0,0)); //设置字体颜色
pDC->SetBkColor(RGB(0,192,192));//设置字体背景颜色
HBRUSH b=CreateSolidBrush(RGB(192,192,192)); //设置控件背景颜色
return b;
}
break;
}
default:
break;
}
return hbr;
}
设置控件的字体大小和样式
CFont *my_font=new CFont();//注意初始化,不能为空
CStatic*pStatic=(CStatic*)GetDlgItem(IDC_STATIC0000);
my_font->CreatePointFont(160,"Arial"); //字体大小、字体名称
pStatic->SetFont(my_font);
//my_font->DeleteObject(); //如果在这里进行删除则字体设置就没有效果了,所以建议my_font定义为全局变量,然后在窗体销毁的时
候进行删除
一。做成一个函数,改变字体大小,方法如下:
1。在最开头声明一个全局的字体指针 CFont *my_font=new CFont();//注意初始化,不能为空
2。在需要改变字体的地方调用函数:
set_font(60,my_font,"隶书"); //字体大小、指针、名称
GetDlgItem(IDC_anniu)->SetFont(my_font);//改变字体
3。对与不同的字体,你需要设置不同的字体指针就可以了。
4。注意在退出时要删除字体,否则多次调用出现问题
BOOL CMyDlg::DestroyWindow()
{
if (my_font)
my_font->DeleteObject();
return CDialog::DestroyWindow();
}