分享

使用"字体"对话框设置文本字体

 san60 2010-04-01

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);  //设置字体
}
}


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多