6.7.2 使用"字体"对话框设置文本字体
CFontDialog类封装了Windows"字体"对话框。用户可以从系统安装的字体列表中选择要用的字体,同时在"字体"对话框中还可以设置字体大小、颜色、效果、字符集等属性。可以通过构造函数CFontDialog构造"字体"对话框。
语法格式如下:
CFontDialog( LPLOGFONT lplfInitial = NULL, DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS, CDC* pdcPrinter = NULL, CWnd* pParentWnd = NULL ); |
CFontDialog构造函数中的参数说明如表6.6所示。
表6.6 CFontDialog构造函数中的参数说明
|
参 数< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> |
描 述 |
|
lplfInitial |
LOGFONT结构指针,用于设置默认的字体 |
|
dwFlags |
用于控制对话框的行为 |
|
pdcPrinter |
打印机设备内容指针 |
|
pParentWnd |
“字体”对话框父窗口指针 |
"字体"对话框的常用函数如表6.7所示。
表6.7 "字体"对话框的常用函数
|
函 数 |
功 能 描 述 |
|
DoModal |
用于显示“字体”对话框,供用户设置字体 |
|
GetCurrentFont |
用于获取当前的字体 |
|
GetFaceName |
用于获取“字体”对话框中选择的字体名称 |
|
GetStyleName |
用于返回“字体”对话框中选择的字体风格名称 |
|
GetSize |
用于获取字体的大小 |
|
GetColor |
用于获取选择的字体颜色 |
|
GetWeight |
用于获取字体的磅数 |
例6.7 下面使用"字体"对话框设置编辑框控件中显示文本的字体。程序设计步骤如下:(实例位置:光盘\TM\sl\6\3)
(1)创建一个基于对话框的应用程序,将对话框的Caption属性修改为"使用'字体'对话框设置文本字体"。
(2)向对话框中添加一个编辑框控件和一个按钮控件。
(3)在对话框头文件中声明一个CFont对象m_Font。
(4)处理"字体"按钮的单击事件,创建"字体"对话框,设置在编辑框中显示文本的字体。代码如下:
void CFontDialogDlg::OnFont() //"字体"按钮单击事件处理函数 { CFont* TempFont = m_Text.GetFont(); //获取编辑框当前字体 LOGFONT LogFont; //声明LOGFONT结构指针 TempFont->GetLogFont(&LogFont); //获得字体信息 CFontDialog dlg(&LogFont); //初始化字体信息 if(dlg.DoModal()==IDOK) //判断是否按下"确定"按钮 { m_Font.Detach(); //分离字体 LOGFONT temp; //声明LOGFONT结构指针 dlg.GetCurrentFont(&temp); //获取当前字体信息 m_Font.CreateFontIndirect(&temp); //直接创建字体 m_Text.SetFont(&m_Font); //设置字体 } } |
实例的运行结果如图6.26所示。
|
| 图6.26 使用"字体"对话框设置文本字体 |
【责任编辑:
夏书 TEL:(010)68476606】