mfc 单文档改变文本的字体 文字就变得特别小怎么办

本来是这样的一改字体就变成下面这样了具体代码如下是个editview的基类CFont*TempFont=CeditView::GetEditCtrl().GetFont(... 本来是这样的 一改字体 就变成下面这样了

具体代码如下

是个editview的基类

CFont *TempFont = CeditView::GetEditCtrl().GetFont();
LOGFONT logfont;
TempFont->GetLogFont(&logfont);
CFontDialog dlg(&logfont);
if (dlg.DoModal() == IDOK)
{
m_Font.Detach();
LOGFONT temp;
dlg.GetCurrentFont(&temp);
m_Font.CreatePointFontIndirect(&temp);
CEditView::GetEditCtrl().SetFont(&m_Font);
展开
 我来答
龚炜林
推荐于2016-03-26 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:576万
展开全部
m_Font.Detach();
这样不好,应该是m_Font.DeleteObject();

设置字体试一下:
CEditView::GetEditCtrl().SetFont(&m_Font);
改为
SetFont(&m_Font);
追问
我仔细看了一下  貌似不是这个原因     我设置成80号字的时候  他会在界面中自动帮我修改成10号字   当我设置成20号字的时候  就变成1号字了  这个是自动缩放么?
追答
CFont *TempFont = GetFont();
LOGFONT logfont;
memset(&logfont, 0, sizeof(logfont));
if (TempFont && TempFont->m_hObject != NULL)
TempFont->GetLogFont(&logfont);
else
{
CClientDC dc(this);
logfont.lfHeight = -MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72);
_tcscpy_s(logfont.lfFaceName, LF_FACESIZE, _T("Times New Roman"));
}
CFontDialog dlg(&logfont);

if (dlg.DoModal() == IDOK)
{
m_Font.DeleteObject();
LOGFONT temp;
memset(&temp, 0, sizeof(temp));
dlg.GetCurrentFont(&temp);
m_Font.CreateFontIndirect(&temp);
SetFont(&m_Font);
}

//创建pointfont的值是不对的,所以换了一个函数CreateFontIndirect.
博思aippt
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT... 点击进入详情页
本回答由博思aippt提供
归悦欣cf
2014-11-28 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1319万
展开全部
把字体该打试一试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式