MFC 请教怎样设置STATIC TEXT控件的字体大小和颜色

 我来答
ahcc08
2017-03-05 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51932
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部

设置字体:STASTIC TEXT 的ID改为IDC_STATIC1或其他唯一的ID

LOGFONT lf;  //逻辑字体结构
 ::ZeroMemory(&lf,sizeof(lf));
 lf.lfHeight = 40;
 lf.lfWidth= 0;
 lf.lfEscapement = 0;
 lf.lfOrientation = 0;
 lf.lfWeight = FW_BOLD;
 lf.lfItalic = FALSE;
 lf.lfUnderline = FALSE;
 lf.lfStrikeOut= FALSE;
 lf.lfCharSet = DEFAULT_CHARSET;
 lf.lfOutPrecision = OUT_DEFAULT_PRECIS;
 lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
 lf.lfQuality = DEFAULT_QUALITY;
 lf.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
 m_font1.CreateFontIndirect(&lf);
 GetDlgItem(IDC_STATIC1)->SetFont(&m_font1);

设置颜色,为窗体添加OnCtlColor()函数,函数内填写下面代码

HBRUSH CInitial::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
 
 // TODO: Change any attributes of the DC here
 if (pWnd->GetDlgCtrlID() == IDC_STATIC1)
    {
  pDC->SetTextColor(RGB(255,0,0));  //蓝色
    }
  // TODO: Return a different brush if the default is not desired
 return hbr;
}
老虎都快乐
2017-03-05 · 超过126用户采纳过TA的回答
知道小有建树答主
回答量:515
采纳率:0%
帮助的人:199万
展开全部
必须自己改变画笔画刷的颜色值,以及FONT 确实一点都不好用,我也觉得。 比起其他语言确实麻烦了许多。 如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式