使用CFont类来改变CStatic的字体

如何修改 静态文本控件的字体和颜色... 如何修改  静态文本控件的字体和颜色 展开
 我来答
paperNote
推荐于2016-09-21 · TA获得超过386个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:257万
展开全部
private:
CFont m_headfont;
......

//添加一个按钮消息响应函数,用于设置静态文本的字体
void CTestDlg::OnButton()
{
m_headfont.CreateFont(-24, 0, 0, 0, 400, FALSE, FALSE,
0,GB2312_CHARSET , OUT_DEFAULT_PRECIS,//ANSI_CHARSET
CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
VARIABLE_PITCH | FF_SCRIPT, "楷体_GB2312");//DEFAULT_PITCH FF_MODERN
m_staticMe.SetFont(&m_headfont, true);//调用静态文本的成员函数SetFont设置字体
}

//添加一个OnCtlColor的消息响应函数,用于设置静态文本的颜色
HBRUSH CTesDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
if(nCtlColor == CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(200, 0, 0);
}

// TODO: Return a different brush if the default is not desired
return hbr;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-06
展开全部
1)dc.GetTextMetrics(&tm);
2)CFont* pOldFont = dc.SelectObject(&m_font);
先获得旧字体高度,再调整字体?

那m_font是与tm.tmHeight无关的吗?
另外,团IDC网上有许多产品团购,便宜有口碑
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小止学编程
2011-07-06 · TA获得超过133个赞
知道答主
回答量:74
采纳率:0%
帮助的人:88.4万
展开全部
先创建一个CFont,然后在合适的地方使用CStatic调用
void SetFont(
CFont* pFont,
BOOL bRedraw = TRUE
);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
youchi54
2011-07-06 · TA获得超过939个赞
知道小有建树答主
回答量:888
采纳率:0%
帮助的人:539万
展开全部
我自己从CStatic派生一个类,希望可以设置字体字号在OnPaint中,输出文字的1)dc.GetTextMetrics(
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式