
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号 展开
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号 展开
1个回答
展开全部
SetFont应该只是改变了控件的字体句柄,而不影响已经显示的内容(影响是设置字体后)
另外
font.DeleteObject();//放在函数代码的最后试试吧。删除太早了,毕竟你设置是地址操作,这个也可能是问题的原因。
另外
font.DeleteObject();//放在函数代码的最后试试吧。删除太早了,毕竟你设置是地址操作,这个也可能是问题的原因。
追问
呵呵,我把 CFont 设置为全局变量就可以了。。。。。不知道为什么,难道是生命周期?
追答
是,你删除了,地址无效吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询