博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MFC字体(一)(控件文字字体)
阅读量:5756 次
发布时间:2019-06-18

本文共 1801 字,大约阅读时间需要 6 分钟。

1、建立基于对话框工程:My

2、添加控件:静态文本控件:IDC_STATIC1

编辑框控件:建立一关联变量CEdit  m_EditControl

3、在OnInitDialog中添加如下代码:

CFont * m_pFont;

     m_pFont = new CFont;

     m_pFont->CreateFont(16,            // nHeight

     0,           // nWidth

     0,           // nEscapement

     0,           // nOrientation

     FW_BOLD,     // nWeight

     TRUE,        // bItalic

     FALSE,       // bUnderline

     0,           // cStrikeOut

     ANSI_CHARSET,              // nCharSet

     OUT_DEFAULT_PRECIS,        // nOutPrecision

     CLIP_DEFAULT_PRECIS,       // nClipPrecision

     DEFAULT_QUALITY,           // nQuality

     DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily

      _T("Arial"));              // lpszFac

     

     m_EditControl.SetFont(m_pFont,false);

     m_EditControl.SetWindowText("Hello!");

     GetDlgItem(IDC_STATIC1)->SetFont(m_pFont,false);

注:

1、

需要注意的是,这里我们使用的是CFont指针,而不是普通的CFont局部变量,如果把程序改成下面这样:

CFont m_pFont;

运行后就得不到想要的效果了,因为OnInitDialog函数执行完毕,CFont m_pFont就会被清除。必须保证SetFont设置的字体对象在对话框关闭前一直有效。所以通常是使用指针或类成员的方式来保存所建立的字体对象。

2、

也可以定义CMyDlg类的成员变量:

CFont *m_pFont;

或CFont m_Font;

3、

若编辑框控件IDC_EDIT1未定义CEdit变量m_EditControl,可以如下调用:

CEdit* m_EditControl = (CEdit*)GetDlgItem(IDC_EIDT1);

m_EditControl->SetFont(m_pFont,false);

 

非MFC程序,首先用CreateFont来建立一个字体句柄,然后再用SendMessage发给控件WM_SETFONT消息,将建立的字体句柄赋值过去,就可以了。

 

 

CreateFont()函数的MSDN翻译

函数功能:该函数创建一种有特殊性的逻辑字体,此逻辑字体可以在后面被任何设备选择。

函数原型:

HFONT CreateFont(int nHeight,

                   int nWidth,
                 int nEscapement,
                 int nOrientation,
                 int fnWeight,
                 DWORD fdwltalic,
                 DWORD fdwUnderline,
                 DWORD fdwStrikeOut,
                 DWORD fdwCharSet,
                 DWORD fdwOutputPrecision,
                 DWORD fdwClipPrecision,
                 DWORD fdwQuality,
                 DWORD fdwPitchAndFamily,
                 LPCTSTR lpszFace);

nHeight是字体的高度。

nWidth是字体的宽度。

nEscapement是字体的倾斜角。

nOrientation是字体的倾斜角。

fnWeight是字体的粗细。

fdwItalic是字体是否斜体。

fdwbUnderline是字体是否有下划线。

fdwStrikeOut是字体是否有删除线。

fdwCharSet是字体使用的字符集。

fdwOutPrecision是指定如何选择合适的字体。

fdwClipPrecision是用来确定裁剪的精度。

fdwQuality是怎么样跟选择的字体相符合。

fdwPitchAndFamily是间距标志和属性标志。

lpszFacel是字体的名称。

转载于:https://www.cnblogs.com/lxshanye/archive/2013/05/20/3088596.html

你可能感兴趣的文章
nginx_lua_waf安装测试
查看>>
WinForm窗体缩放动画
查看>>
JQuery入门(2)
查看>>
linux文件描述符
查看>>
传值引用和调用引用的区别
查看>>
hyper-v 无线网连接
查看>>
Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
查看>>
Windows下memcached的安装配置
查看>>
ubuntu: firefox+flashplay
查看>>
web.xml 中CharacterEncodingFilter类的学习
查看>>
贪吃蛇逻辑代码
查看>>
实现c协程
查看>>
ASP.NET视频教程 手把手教你做企业论坛网站 视频教程
查看>>
[LeetCode] Meeting Rooms II
查看>>
从Swift学习iOS开发的路线指引
查看>>
Scribes:小型文本编辑器,支持远程编辑
查看>>
ssh 安装笔记
查看>>
3-继承
查看>>
海归千千万 为何再无钱学森
查看>>
vue2.0 仿手机新闻站(六)详情页制作
查看>>