CFontDialog
CObject |
└CCmdTarget |
└CWnd |
└CDialog |
└CCommonDialog |
└CFontDialog |
CFontDialog可以使你向应用添加一个字体选择对话框。一个CFontDialog对象是一个带有当前安装到系统的字体列表对话框,用户可从列表中选择一种字体并将选择传递给应用。
要构造一个CFontDialog对象,用提供的构造函数或派生一个新的子类并使用自己定制的构造函数。
一旦CFontDialog对象被创建,可用m_cf结构来初始化对话框中控件的状态或值。m_cf结构是CHOOSEFONT类型的。要了解有关此结构的信息,可参阅联机文档“Win32 SDK”。
当初始化了对话对象的控件后,调用DoModal成员函数来显示对话框并使用户选择字体。DoModal返回不管用户选择了OK(IDOK)还是取消(IDCANCEL)按钮。
如果DoModal返回IDOK,可以使用CFontDialog的某一成员函数获取用户输入的更多信息。
可使用Windows CommDlgExtendedError函数来判断初始化对话框时是否是发生了错误并获取错误的更多消息。要了解更多信息,可参阅联机文档“Win32 SDK”。
CFontDialog需要Windows3.1以上版本的COMMDLG.DLL文件支持。要定制对话框,可从CFontDialog派生一个类,提供一个定制模板,加入消息映射来扩展控件的消息通知,任何不处理的消息均应传递给基类。
无须定制钩子函数。
要了解有关使用CFontDialog的信息,可参阅联机文档“Visual C++程序员指南”中的“常用对话类”。
#include <afxdlgs.h>
CFontDialog类的成员
数据成员
m_cf | 一个用于定制CFontDialog对象的结构 |
构造函数
CFontDialog | 构造一个CFontDialog对象操作 |
DoModal | 显示对话框并使用户选择 |
GetCurrentFont | 获取当前选定字体的名字 |
GetFaceName | 返回选择字体的字样名称 |
GetStyleName | 返回选择字体的风格名称 |
GetSize | 返回选择字体的点大小 |
GetColor | 返回选择字体的颜色 |
GetWeight | 返回选择字体的磅数 |
IsStrikeOut | 判断字体是否是突出 |
IsUnDerline | 判断字体是否是下划线 |
IsBold | 判断字体是否是黑体IsItalic判断字体是否是斜体 |
CFontDialog::CFontDialog
CFontDialog(LPLOGFONT lplfInitial = NULL,
DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS,
CDC* pdcPrinter = NULL,
CWnd* pParentWnd = NULL
);
参数:
lplfInitial | 指向LOGFONT数据结构,使你可以设置某些字体特征。 |
dwFlags | 指定一个或多个选择字体标志,可用按位OR算符将一个或多行预设置组合起来。如果改变了m_cf.Flags结构,一定要使用按位OR来改变以保持缺省行为的完整性。要了解每个标志的细节,可参阅联机文档“Win32 SDK”中的CHOOSEFONT结构。 |
pdcPrinter | 指向打印机设备上下文。如果提供,则此参数指向选择字体的打印机设备上下文。 |
pParentWnd | 指向字体对话框的父窗口或所有者窗口。 |
说明:
构造一个CFontDialog对象,注意此构造函数自动填充CHOOSEFONT结构的成员,仅在希望一个字体对话框不同于缺省时才改变它们。
CFontDialog::DoModal
virtual int DoModal( );
返回值:
IDOK或IDCANCEL。如果返回IDCANCEL,则调用WindowsCommDlgExtendedError函数判断是否发生了错误。
IDOK或IDCANCEL是表明用户选择了OK还是Cancel按钮的常数。
说明:
调用此成员函数显示一个Windows通用字体对话框,并允许用户选择一种字体。
如果想用设置m_cf结构成员的方法初始化各种字体对话控件,则应在调用DoModal之前,及创建了对话对象之后进行。
如果DoModal返回IDOK,可用其它成员函数获得用户输入对话框的设置或信息。
CFontDialog::GetColor
COLORREF GetColor( )const;
返回值:选定字体的颜色。
说明:调用此成员函数获取选定字体的颜色。
CFontDialog::GetCurrentFont
void GetCurrentFont(LPLOGFONT lplf);
参数:
lplf | 指向LOGFONT结构的指针。 |
说明:
调用此成员函数,将当前选定字体的特征分配给各个LOGFONT结构的成员。其它CFontDialog成员函数访问当前字体的单个特征。
如果在调用DoModal时调用此成员函数,则返回当前选定部分(用户见到的或已被改变的)。如果在DoModal之后调用此成员函数(仅当DoModal返回IDOK时),则返回用户实际选择的部分。
CFontDialog::GetFaceName
CString GetFaceName ( ) const;
返回值:
在CFontDialog对话框中选择字体的字样名称。
说明:调用此成员函数获取选择的字体字样名称。
CFontDialog::GetSize
int GetSize( )const;
返回值:字体大小,以0.1点表示。
说明:调用此成员函数获取选定字体的大小。
CFontDialog::GetStyleName
CString GetStyleName( )const;
返回值:字体的风格名称。
说明:调用此成员函数获取选定字体的风格名称。
CFontDialog::GetWeight
int GetWeight( )const;
返回值:选定字体的磅数。
说明:
调用此成员函数获取选定字体的磅数。要了解有关字体磅数的更多信息,请参阅CFont::CreateFont。
CFontDialog::IsBold
BOOL IsBold( )const;
返回值:
如果选定字体具有黑体特征,则返回非零值,否则为0。
说明:调用此成员函数判断所选字体是否是黑体。
CFontDialog::IsItalic
BOOL IsItalic( )const;
返回值:
如果被选字体具有斜体特性,则返回非零值,否则为0。
说明:调用此成员函数判断所选字体是否是斜体。
CFontDialog::IsStrikeOut
BOOL IsStrikeOut ( )const;
返回值:
如果被选字体具有突出特征,则返回非零值,否则为0。
说明:
调用此成员函数判断显示的被选字体是否是突出。
CFontDialog::IsUnderline
BOOL IsUnderline( )const;
返回值:
如果被选字体具有下划线特征,则返回非零值,否则为0。
说明:调用此成员函数决定选定字体是否是有下划线。
CFontDialog::m_cf
说明:
保存对话框对象特征的结构。当构造一个CFontDialog对象后,可用m_cf改变对话框的某些特征,这些在DoModal成员函数调用之前进行。要了解有关此结构的更多信息,可参阅联机文档“Win32 SDK”中的CHOOSEFONT。