ChooseFont(A)

「フォントの指定」コモンダイアログボックスを表示して、ユーザーがフォントを選択できるようにします。

BOOL ChooseFontA(
    LPCHOOSEFONT  pcf  // 初期化情報を格納した構造体
);

COMDLG32.DLL

引数

pcf

ダイアログボックスの初期化に使用する情報を格納したCHOOSEFONT構造体のアドレスを指定します。関数呼出し後、この構造体にはユーザーが選択したフォントに関する情報が格納されます。

戻り値

[OK] ボタンが押されると0以外の値が返ります。

キャンセルされた場合やエラーが発生した場合には0が返ります。拡張エラー情報を取得するには、CommDlgExtendedError関数を使います。CommDlgExtendedError関数は、以下のいずれかの値を返します。

0xFFFF (CDERR_DIALOGFAILURE)
0x0001 (CDERR_STRUCTSIZE)
0x0002 (CDERR_INITIALIZATION)
0x0003 (CDERR_NOTEMPLATE)
0x0004 (CDERR_NOHINSTANCE)
0x0005 (CDERR_LOADSTRFAILURE)
0x0006 (CDERR_FINDRESFAILURE)
0x0007 (CDERR_LOADRESFAILURE)
0x0008 (CDERR_LOCKRESFAILURE)
0x0009 (CDERR_MEMALLOCFAILUR)
0x000A (CDERR_MEMLOCKFAILURE)
0x000B (CDERR_NOHOOK)
0x2001 (CFERR_NOFONTS)
0x2002 (CFERR_MAXLESSTHANMIN)

解説

「フォントの指定」ダイアログボックスDrawMenuBarフックプロシージャを設定して、ダイアログボックスに送られるメッセージを処理することができます。フックプロシージャを有効にするには、CHOOSEFONT構造体のFlagsメンバにCF_ENABLEHOOKフラグを指定し、lpfnHookメンバにフックプロシージャのアドレスを指定します。

フックプロシージャは、ダイアログボックスの現在の値やフラグを取得または設定するために、フックプロシージャにWM_CHOOSEFONT_GETLOGFONT, WM_CHOOSEFONT_SETFLAGS, WM_CHOOSEFONT_SETLOGFONTメッセージを送信することができます。

対応情報

Windows 95 以降 / Windows NT 3.1 以降