牛奶奥利奥盆栽:使用"字体"对话框设置文本字体

来源:百度文库 编辑:中财网 时间:2024/05/01 03:22:25
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构造函数中的参数说明
参    数
描    述
lplfInitial
LOGFONT结构指针,用于设置默认的字体
dwFlags
用于控制对话框的行为
pdcPrinter
打印机设备内容指针
pParentWnd
“字体”对话框父窗口指针
"字体"对话框的常用函数如表6.7所示。
表6.7  "字体"对话框的常用函数
函    数
功 能 描 述
DoModal
用于显示“字体”对话框,供用户设置字体
GetCurrentFont
用于获取当前的字体
GetFaceName
用于获取“字体”对话框中选择的字体名称
GetStyleName
用于返回“字体”对话框中选择的字体风格名称
GetSize
用于获取字体的大小
GetColor
用于获取选择的字体颜色
GetWeight
用于获取字体的磅数
例6.7  下面使用"字体"对话框设置编辑框控件中显示文本的字体。程序设计步骤如下:
(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);  //设置字体
}
}