MFC最大化后编辑框内输入字体大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC最大化后编辑框内输入字体大小相关的知识,希望对你有一定的参考价值。

在MFC编程中,编辑框正常显示,输入字体显示正常,若是最大化以后,只显示上面部分空间,下面都空着,能不能最大化以后字体随着编辑框大小而改变,若能实现,加分!

参考技术A 每一种字体的大小都有规定,比如高和宽是几个像素,当窗口尺寸变化时,先计算编辑框大小,然后设置相应字体就可以。 参考技术B 计算一下,有多少行,然后,再加上每行的高度,这样,可以算出EDIT的高度.用MoveWindow或者SetWindowPos设置一下 参考技术C OnSize 或者GetWindowRect获得窗口的大小,根据窗口大小计算缩放比例,将当前DC下的CFont改下字体大小,思路是这样的,具体代码可以参考CFont相关示例代码追问

您和“左_后卫”的我都试过,这样的效果是:最大化是可以了,但是正常显示时设置的适合最大化的字体会掩盖住正常的编辑框,如图所示。

 

有代码吗?最好贴出,让我试试,谢谢!

MFC 编辑框字体大小问题

步骤一:在Dlg类中增加一个类成员变量: CFont m_editFont;

注意:这里Font对象必须是类成员变量,不能是局部变量,否则会出现只改变了光标的大小,而不能改变字体的大小。

步骤二:在OnInitDialog方法中增加下列语句:

m_editFont.CreatePointFont(180, "宋体");
m_editPlace.SetFont(&m_editFont); // 设置新字体

这里所谓的m_editPlace是什么?编辑框的变量么

MFC中用SetFont的基类一般情况只用CWnd,从CWnd继承的类都可以用,你这个m_editPlace,从命名来看,可能是CRichEditCtrl吧。 参考技术A 编辑框所关联的变量
MFC可以通过ctrl+w打开类向导然后选择上面的成员,对自己程序中的控件关联成一个变量这个变量类型可以是数据类型也可以是控件类型,通过UpdateData()函数来更新这个数据!
参考技术B 你应该把代码全贴上来 这一句怎么判断 ,我感觉可能是类对象。

以上是关于MFC最大化后编辑框内输入字体大小的主要内容,如果未能解决你的问题,请参考以下文章

MFC 编辑框字体大小问题

Eclipse怎样设置字体和文字大小

PDF文件怎么修改字体大小

MFC编辑框字体大小调节(转)

VS2008中怎样修改MFC界面 字体大小

VC/MFC怎么改变状态栏字体颜色和大小