MFC 在窗口最大化的时候改变控件字体如何实现?

MFC 在窗口最大化的时候改变控件字体如何实现?,第1张

MFC对话框程序,改变字体要比改变控件大小困难的多。

改变控件大小,一个Movewindow函数,可以适合任何允许改变大小的控件了。但字体,不同控件方法完全不一样。

其中,静态文本最简单,直接定义一个CFont,设置好之后SetFont就可以了。

而其它控件,如按钮。。。老麻烦了,改变字体大小必须重载按钮类,自己通过自绘来控制TextOut画笔才可以实现(参考资料:百度搜“VC改变对话框按钮字体”,文库就有)。ps:颜色好改,字体难弄

如果非要实现这个功能,只能是对你界面上所有的非静态控件的类型,分别重载一个新的类,自己做一个SetFont的方法,才能统一实现。

第一种方法:

1.在头文件.h定义一CFont m_fFont

2.添加WM_CREATE事件,在OnCreate函数里写上

LOGFONT lf

CFont *pFont = GetFont()

pFong->GetLogFont(&lf)

lf.lfHeigt控制字体高度

lf.lfFaceName控制字体类型,利用LOGFONT这个结构里设置字体

m_fFont.CreateFontIndirect(&lf)

3.在OnInitDialog函数里

SetFont(&m_fFont)

第二种方法:

在对话框属性修改字体


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11138375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存