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); 展开
具体代码如下
是个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); 展开
展开全部
m_Font.Detach();
这样不好,应该是m_Font.DeleteObject();
设置字体试一下:
CEditView::GetEditCtrl().SetFont(&m_Font);
改为
SetFont(&m_Font);
这样不好,应该是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 广告
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT...
点击进入详情页
本回答由博思aippt提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询