### 函数功能

该函数创建一个使用户选择逻辑字体属性的对话框，这些属性包括字体名称、字体风格（如粗体、斜体或正常体）、字号、效果（如强调线，下划线或字体颜色）和手写体（或字符集）。

### 函数原型

BOOL ChooseFont（LPCHOOSEFONT Ipcf）；

### 参数

Ipcf：指向一个含有初始化对话框信息的CHOOSEFONT结构。当返回ChooseFont函数时，此结构含有用户对字体选择的信息。

### 返回值

如果用户点击对话框的OK按钮，返回值为非零值，CHOOSEFONT结构中的成员表明用户的选择。如果用户取消或关闭Font对话框或出现错误信息，返回值为零。若想获得更多错误信息。请调用CommDlgExtendedError函数，其返回值如下：
CDERR_FINDRESFAILURE；CDERR_NOHINSTANCE；CDERR_INITIALIZATION；CDERR_NOHOOK
CDERR_LOCKRESFAILURE；CDERR_NOTEMPLATE；CDERR_LOADRESFAILURE；
CDERR_STRUCTSIZE；CDERR_LOADSTRFAILURE；CDERR_MAXLESSTHANMIN
CDERR_MEMALLOCFAILURE；CDERR_NOFONTS；CDERR_MEMLOCKFAILURE
备注：可以为Font对话框提供一个CFHOOKProc挂钩程序。此挂钩程序能够处理发送给对话框的信息。
通过建立CHOOSEFONT结构中Flags成员的CE ENABLEHOOK标志和指定IPfn Hook成员中挂钩程序的地址可以使挂钩程序有效。
挂钩程序可以把信息WM_CHOOSEFONT_GETLOGLONT，WM_CHOOSEFONT_SETFLAGS和
WM_CHOOSEFONT_SETLOGFONT消息发送给对话框以便得到和创建当前值和对话框的图标。

### 速查

Windows NT：3.1及以一上版本；Windows：95及以上版本；Windows CE：不支持；头文件：Commdlg.h；库文件：comdlg32.lib；Unicode：在Windows NT环境中实现为Unicode和ANSI两个版本。