CHOOSEFONTA 構造体 (commdlg.h)

ChooseFont 関数が [フォント] ダイアログ ボックスの初期化に使用する情報を格納します。 ユーザーがダイアログ ボックスを閉じると、この構造のユーザーの選択に関する情報が返されます。

構文

typedef struct tagCHOOSEFONTA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTA   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  HINSTANCE    hInstance;
  LPSTR        lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTA;

メンバー

lStructSize

型: DWORD

構造体の長さ (バイト単位)。

hwndOwner

型: HWND

ダイアログ ボックスを所有するウィンドウへのハンドル。 このメンバーは、任意の有効なウィンドウ ハンドルにすることも、ダイアログ ボックスに所有者がいない場合は NULL にすることもできます。

hDC

種類: HDC

このメンバーは ChooseFont 関数では無視されます。

Windows Vista および Windows XP/2000: ダイアログ ボックスにフォントが表示されるプリンターのデバイス コンテキストまたは情報コンテキストへのハンドル。 このメンバーは、Flags メンバーが CF_PRINTERFONTS または CF_BOTH フラグを指定する場合にのみ使用されます。それ以外の場合、このメンバーは無視されます。

lpLogFont

種類: LPLOGFONT

LOGFONT 構造体へのポインター。 Flags メンバーで CF_INITTOLOGFONTSTRUCT フラグを設定し、他のメンバーを初期化すると、ChooseFont 関数は LOGFONT メンバーに一致するフォントでダイアログ ボックスを初期化します。 ユーザーが [OK] ボタンをクリックすると、 ChooseFont は ユーザーの選択に基づいて LOGFONT 構造体のメンバーを設定します。

iPointSize

型: INT

ポイントの 1/10 単位で、選択したフォントのサイズ。 ユーザーがダイアログ ボックスを閉じると、 ChooseFont 関数によってこの値が設定されます。

Flags

型: DWORD

[ フォント ] ダイアログ ボックスの初期化に使用できるビット フラグのセット。 ダイアログ ボックスが戻ると、ユーザー入力を示すようにこれらのフラグが設定されます。 このメンバーには、次の値の 1 つ以上を指定できます。

意味
CF_APPLY
0x00000200L
ダイアログ ボックスに [適用 ] ボタンが表示されます。 [適用] ボタンのWM_COMMANDメッセージを処理するフック プロシージャを指定する必要があります。 フック プロシージャは、 WM_CHOOSEFONT_GETLOGFONT メッセージをダイアログ ボックスに送信して、フォントの現在の選択範囲を含む構造体のアドレスを取得できます。
CF_ANSIONLY
0x00000400L
このフラグは、互換性のために残されています。 OEM または Symbol 文字セットを使用するものを除くすべてのスクリプトにフォントの選択を制限するには、 CF_SCRIPTSONLYを使用します。 元のCF_ANSIONLY動作を取得するには、CF_SELECTSCRIPTを使用し、lpLogFont が指LOGFONT 構造体の lfCharSet メンバーにANSI_CHARSETを指定します。
CF_BOTH
0x00000003
フォント列挙の場合、このフラグは無視されます。

Windows Vista および Windows XP/2000: ダイアログ ボックスに使用可能なプリンターと画面のフォントが一覧表示されます。 hDC メンバーは、プリンターに関連付けられているデバイス コンテキストまたは情報コンテキストへのハンドルです。 このフラグは、 CF_SCREENFONTS フラグと CF_PRINTERFONTS フラグの組み合わせです。

CF_EFFECTS
0x00000100L
ダイアログ ボックスに、ユーザーが取り消し線、下線、およびテキストの色オプションを指定できるようにするコントロールを表示します。 このフラグが設定されている場合は、 rgbColors メンバーを使用して初期テキストの色を指定できます。 lpLogFont が指す構造体の lfStrikeOut メンバーと lfUnderline メンバーを使用して、取り消し線と下線のチェック ボックスの初期設定を指定できます。 ChooseFont では 、これらのメンバーを使用して、ユーザーの選択内容を返すことができます。
CF_ENABLEHOOK
0x00000008L
この構造体の lpfnHook メンバーで指定されたフック プロシージャを有効にします。
CF_ENABLETEMPLATE
0x00000010L
hInstance メンバーと lpTemplateName メンバーが、既定のテンプレートの代わりに使用するダイアログ ボックス テンプレートを指定することを示します。
CF_ENABLETEMPLATEHANDLE
0x00000020L
hInstance メンバーが、事前に読み込まれたダイアログ ボックス テンプレートを含むデータ ブロックを識別することを示します。 このフラグが指定されている場合、システムは lpTemplateName メンバーを無視します。
CF_FIXEDPITCHONLY
0x00004000L

ChooseFont は 、固定ピッチ フォントのみを列挙して選択できるようにする必要があります。

CF_FORCEFONTEXIST
0x00010000L

ユーザーがダイアログ ボックスに表示されていないフォントまたはスタイルを選択しようとすると、ChooseFont はエラー状態を示す必要があります。

CF_INACTIVEFONTS
0x02000000L

ChooseFont では、フォント コントロール パネルで [非表示] に設定されているフォントも表示されます。

Windows Vista および Windows XP/2000: このフラグは、Windows 7 までサポートされていません。

CF_INITTOLOGFONTSTRUCT
0x00000040L

ChooseFont では、 lpLogFont メンバーが指す構造体を使用して、ダイアログ ボックス コントロールを初期化する必要があります。

CF_LIMITSIZE
0x00002000L

ChooseFont では、nSizeMin メンバーと nSizeMax メンバーによって指定された範囲内のフォント サイズのみを選択する必要があります。

CF_NOOEMFONTS
0x00000800L
CF_NOVECTORFONTS フラグと同じです。
CF_NOFACESEL
0x00080000L
LOGFONT 構造体を使用してダイアログ ボックス コントロールを初期化する場合は、このフラグを使用して、ダイアログ ボックスにフォント名コンボ ボックスの初期選択が表示されないようにします。 これは、テキストの選択に適用されるフォント名が 1 つもない場合に便利です。
CF_NOSCRIPTSEL
0x00800000L
[スクリプト] コンボ ボックスを無効にします。 このフラグを設定すると、LogFONT 構造体の lfCharSet メンバーは、ChooseFont が返されたときにDEFAULT_CHARSETに設定されます。 このフラグは、ダイアログ ボックスの初期化にのみ使用されます。
CF_NOSIMULATIONS
0x00001000L

ChooseFont では、 フォント シミュレーションの表示や選択を許可しないでください。

CF_NOSIZESEL
0x00200000L
構造体を使用してダイアログ ボックス コントロールを初期化する場合は、このフラグを使用して、ダイアログ ボックスに [ フォント サイズ ] コンボ ボックスの初期選択が表示されないようにします。 これは、テキストの選択に適用される単一のフォント サイズがない場合に便利です。
CF_NOSTYLESEL
0x00100000L
LOGFONT 構造体を使用してダイアログ ボックス コントロールを初期化する場合は、このフラグを使用して、ダイアログ ボックスに [フォント スタイル] コンボ ボックスの初期選択が表示されないようにします。 これは、テキストの選択に適用されるフォント スタイルが 1 つもない場合に便利です。
CF_NOVECTORFONTS
0x00000800L

ChooseFont では、ベクター フォントの選択を許可しないでください。

CF_NOVERTFONTS
0x01000000L
[ フォント ] ダイアログ ボックスに水平方向のフォントのみが一覧表示されます。
CF_PRINTERFONTS
0x00000002
フォント列挙の場合、このフラグは無視されます。

Windows Vista および Windows XP/2000: ダイアログ ボックスに、 hDC メンバーによって識別されるデバイス コンテキストまたは情報コンテキストに関連付けられているプリンターでサポートされているフォントのみが一覧表示されます。 また、[フォント ] ダイアログ ボックス の下部にフォントの種類の説明ラベルが表示されます。

CF_SCALABLEONLY
0x00020000L
ChooseFont でスケーラブルなフォントの選択のみを許可するように指定します。 スケーラブルなフォントには、ベクター フォント、スケーラブルなプリンター フォント、TrueType フォント、他のテクノロジによってスケーリングされたフォントが含まれます。
CF_SCREENFONTS
0x00000001
フォント列挙の場合、このフラグは無視されます。

Windows Vista および Windows XP/2000: ダイアログ ボックスに、システムでサポートされている画面フォントのみが一覧表示されます。

CF_SCRIPTSONLY
0x00000400L

ChooseFont では、すべての OEM 以外の文字セットとシンボル文字セット、および ANSI 文字セットに対してフォントを選択できるようにする必要があります。 これは 、CF_ANSIONLY 値よりも優先されます。

CF_SELECTSCRIPT
0x00400000L
入力時に指定すると、LOGFONT 構造体の lfCharSet メンバーで識別される文字セットを持つフォントのみが表示されます。 ユーザーは、[スクリプト] コンボ ボックスで指定された文字セット 変更することはできません。
CF_SHOWHELP
0x00000004L
ダイアログ ボックスに [ヘルプ ] ボタンが表示されます。 hwndOwner メンバーは、ユーザーが [ヘルプ] ボタンをクリックしたときにダイアログ ボックスが送信する HELPMSGSTRING 登録済みメッセージを受信するウィンドウを指定する必要があります。
CF_TTONLY
0x00040000L

ChooseFont では、TrueType フォントの選択のみを列挙して許可する必要があります。

CF_USESTYLE
0x00000080L
lpszStyle メンバーは、ChooseFont が [フォント スタイル] コンボ ボックスの初期化に使用するスタイル データを含むバッファーへのポインターです。 ユーザーがダイアログ ボックスを閉じると、 ChooseFont は ユーザーの選択範囲のスタイル データをこのバッファーにコピーします。
メモアプリケーションをグローバル化するには、lpLogFont が指す LOGFONT 構造体の lfWeight メンバーと lfItalic メンバーを使用してスタイルを指定する必要があります。 スタイル名は、システム のユーザー インターフェイス言語によって変更される場合があります。
 
CF_WYSIWYG
0x00008000L
互換性のために残されています。 ChooseFont は 、このフラグを無視します。

Windows Vista および Windows XP/2000: ChooseFont では、プリンターとディスプレイの両方で使用できるフォントの選択のみを許可する必要があります。 このフラグを指定する場合は、 CF_SCREENSHOTSCF_PRINTERFONTS、または CF_BOTH フラグも指定する必要があります。

rgbColors

種類: COLORREF

CF_EFFECTS フラグが設定されている場合、rgbColors は初期テキストの色を指定します。 ChooseFont が正常に返されると、このメンバーには、ユーザーが選択したテキストの色の RGB 値が含まれます。 COLORREF カラー値を作成するには、RGB マクロを使用します。

lCustData

型: LPARAM

システムが lpfnHook メンバーによって識別されるフック・プロシージャーに渡すアプリケーション定義データ。 システムが WM_INITDIALOG メッセージをフック・プロシージャーに送信する場合、メッセージの lParam パラメーターは、ダイアログの作成時に指定された CHOOSEFONT 構造体へのポインターです。 フック プロシージャでは、このポインターを使用して lCustData 値を取得できます。

lpfnHook

種類: LPCFHOOKPROC

ダイアログ ボックス用のメッセージを処理できる CFHookProc フック プロシージャへのポインター。 CF_ENABLEHOOK フラグがFlags メンバーに設定されていない限り、このメンバーは無視されます。

lpTemplateName

種類: LPCTSTR

hInstance メンバーによって識別されるモジュール内のダイアログ ボックス テンプレート リソースの名前。 このテンプレートは、標準のダイアログ ボックス テンプレートに置き換えられます。 番号付きダイアログ ボックス リソースの場合、 lpTemplateName には MAKEINTRESOURCE マクロによって返される値を指定できます。 CF_ENABLETEMPLATE フラグがFlags メンバーに設定されていない限り、このメンバーは無視されます。

hInstance

種類: HINSTANCE

CF_ENABLETEMPLATEHANDLE フラグが Flags メンバーに設定されている場合、hInstance はダイアログ ボックス テンプレートを含むメモリ オブジェクトへのハンドルです。 CF_ENABLETEMPLATE フラグが設定されている場合、hInstancelpTemplateName メンバーによって名前付けされたダイアログ ボックス テンプレートを含むモジュールへのハンドルです。 CF_ENABLETEMPLATEHANDLECF_ENABLETEMPLATEも設定されていない場合、このメンバーは無視されます。

lpszStyle

種類: LPTSTR

スタイル データ。 CF_USESTYLE フラグが指定されている場合、ChooseFont は、このバッファー内のデータを使用して、[フォント スタイル] コンボ ボックスを初期化します。 ユーザーがダイアログ ボックスを閉じると、 ChooseFont は [ フォント スタイル ] コンボ ボックスの文字列をこのバッファーにコピーします。

nFontType

種類: WORD

ChooseFont が返されるときに選択したフォントの種類。 このメンバーには、次の値の 1 つ以上を指定できます。

意味
BOLD_FONTTYPE
0x0100
フォントの太さは太字です。 この情報は LOGFONT 構造体の lfWeight メンバーに複製され、FW_BOLDと同じです。
ITALIC_FONTTYPE
0x0200
斜体フォント属性が設定されています。 この情報は、LOGFONT 構造体の lfItalic メンバーに複製されます。
PRINTER_FONTTYPE
0x4000
フォントはプリンター フォントです。
REGULAR_FONTTYPE
0x0400
フォントの太さは標準です。 この情報は、LOGFONT 構造体の lfWeight メンバーで複製され、FW_REGULARと同じです。
SCREEN_FONTTYPE
0x2000
フォントは画面フォントです。
SIMULATED_FONTTYPE
0x8000
フォントは、グラフィックス デバイス インターフェイス (GDI) によってシミュレートされます。

___MISSING_ALIGNMENT__

nSizeMin

型: INT

ユーザーが選択できるポイント サイズの最小値。 ChooseFont はCF_LIMITSIZE フラグが指定されている場合にのみ、このメンバーを認識します。

nSizeMax

型: INT

ユーザーが選択できるポイント サイズの最大値。 ChooseFont はCF_LIMITSIZE フラグが指定されている場合にのみ、このメンバーを認識します。

解説

Note

commdlg.h ヘッダーは、SELECTFONT を別名として定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header commdlg.h

関連項目

ChooseFont

共通ダイアログ ボックス ライブラリ

概念

MAKEINTRESOURCE

参照