MFC中调用SetFont改变静态文本的字体大小没成功,倒是有加粗的现象

CPaintDCdc(this);CFontfont,*oldfont;font.CreateFont(300,300,10,10,FW_NORMAL,FALSE,FAL... CPaintDC dc(this);
CFont font,*oldfont;
font.CreateFont(300,300,10,10,FW_NORMAL,FALSE,FALSE,0,
ANSI_CHARSET,OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,"");
oldfont=dc.SelectObject(&font);
pReferDlg->GetDlgItem(IDC_ReferRoom)->SetFont(&font);
font.DeleteObject();
pReferDlg->SetDlgItemText(IDC_EDIT_Refer,file_str);
UpdateData();
pReferDlg->ShowWindow(SW_SHOW);

//pReferDlg是用来创建非模态窗口的一个窗口类对象,IDC_ReferRoom是静态文本的ID号
展开
 我来答
bhtzu
2012-07-25 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4223万
展开全部
SetFont应该只是改变了控件的字体句柄,而不影响已经显示的内容(影响是设置字体后)
另外

font.DeleteObject();//放在函数代码的最后试试吧。删除太早了,毕竟你设置是地址操作,这个也可能是问题的原因。
追问
呵呵,我把 CFont 设置为全局变量就可以了。。。。。不知道为什么,难道是生命周期?
追答
是,你删除了,地址无效吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式