ChooseFontW 函数是 Windows API 中的一个函数,定义在 Commdlg.h 头文件中,用于创建并显示字体选择对话框。与你之前提到的函数一样,ChooseFontW 使用的是宽字符版本,支持 Unicode 字符串。以下是有关 ChooseFontW 函数和回调函数的一些基本信息:
BOOL ChooseFontW(
  LPCHOOSEFONTW lpcf
);

其中,LPCHOOSEFONTW 是一个结构体类型,定义如下:
typedef struct tagCHOOSEFONTW {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTW   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROCW lpfnHook;
  LPCWSTR      lpTemplateName;
  HINSTANCE    hInstance;
  LPCWSTR      lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTW, *LPCHOOSEFONTW;

以下是对 ChooseFontW 函数参数的简要说明:

  •  lpcf: 指向 CHOOSEFONTW 结构的指针,包含了字体选择对话框的参数和选项。


CHOOSEFONTW 结构中的 lpfnHook 字段是一个指向回调函数的指针。回调函数的定义如下:
UINT_PTR CALLBACK ChooseFontHookProcW(
  HWND   hdlg,
  UINT   uiMsg,
  WPARAM wParam,
  LPARAM lParam
);

回调函数的参数如下:

  •  hdlg: 字体选择对话框的句柄。

  •  uiMsg: 消息类型。

  •  wParam 和 lParam: 消息参数。


回调函数的返回值是一个 UINT_PTR 类型,具体含义取决于消息类型。回调函数用于处理字体选择对话框的特定消息,以便定制对话框的行为。

使用此函数和回调函数需要包含相应的头文件和链接相应的库文件。


转载请注明出处:http://www.zyzy.cn/article/detail/25011/Win32 API/Commdlg.h/ChooseFontW