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

共通ダイアログ ボックス ライブラリには、ファイルのオープン、カラー値の選択、ドキュメントの印刷など、一般的なアプリケーション タスクを実行するためのダイアログ ボックスのセットが含まれています。 共通ダイアログ ボックスを使用すると、アプリケーションのユーザー インターフェイスに一貫したアプローチを実装できます。 これにより、ユーザーがアプリケーションのユーザー インターフェイスの動作を学習するために費やす労力が削減されます。

このセクションでは、 開く および 名前を付けて保存 ファイル ダイアログ ボックス、 検索 および 置換 編集ダイアログ ボックス、 印刷印刷設定印刷プロパティ シート、および ページ設定 印刷ダイアログ ボックス、 および フォント ダイアログ ボックスなどの共通ダイアログ ボックスについて説明します。

Note

Windows Vista 以降では、 [開く] および [名前を付けて保存] 共通ダイアログ ボックスが [共通項目ダイアログ] に置き換えられました。 共通ダイアログ ボックス ライブラリのこれらのダイアログ ボックスの代わりに、共通アイテム ダイアログ API を使用することをお勧めします。

このセクションの内容

名前 説明
一般的なダイアログボックスの種類 さまざまなダイアログ ボックスについて説明します。
共通ダイアログボックス初期化フラグ フラグを使用して共通ダイアログ ボックスの動作と外観を変更する方法について説明します。
共通ダイアログボックスのカスタマイズ 一般的なダイアログ ボックスの使用方法について説明します。
コモン ダイアログ ボックスの使用 一般的なダイアログ ボックスを呼び出すタスクについて説明します。
共通ダイアログ ボックス リファレンス API リファレンスを収録しています。

関数

名前 説明
CCHookProc Color ダイアログ ボックスの既定のダイアログ ボックス プロシージャを目的としたメッセージまたは通知を受信します。 これは、 ChooseColor 関数で使用される、アプリケーション定義またはライブラリ定義のコールバック関数です。
CFHookProc フォント ダイアログ ボックスの既定のダイアログ ボックス プロシージャを目的としたメッセージまたは通知を受信します。 これは、 ChooseFont 関数で使用される、アプリケーション定義またはライブラリ定義のコールバック プロシージャです。
ChooseColor ユーザーが色を選択できる Color ダイアログ ボックスを作成します。
ChooseFont ユーザーが論理フォントの属性を選択できるようにする フォント ダイアログ ボックスを作成します。 これらの属性には、フォント ファミリと関連するフォント スタイル、ポイント サイズ、効果 (下線、取り消し線、テキストの色)、スクリプト (または文字セット) が含まれます。
CommDlgExtendedError 一般的なダイアログ ボックスのエラー コードを返します。 このコードは、共通ダイアログ ボックス関数の 1 つの実行中に発生した最新のエラーを示します。
FindText システム定義のモードレス 検索 ダイアログ ボックスを作成し、ユーザーが検索する文字列と、ドキュメント内のテキストを検索するときに使用するオプションを指定できるようにします。
FRHookProc 検索 または 置換 ダイアログ ボックスの既定のダイアログ ボックス プロシージャを目的としたメッセージまたは通知を受信します。 これは、 FindText または ReplaceText 関数で使用される、アプリケーション定義またはライブラリ定義のコールバック関数です。
GetFileTitle 指定されたファイルの名前を取得します。
GetOpenFileName ユーザーが開くファイルまたはファイル セットのドライブ、ディレクトリ、名前を指定できる [開く] ダイアログ ボックスを作成します。
GetSaveFileName 保存するファイルのドライブ、ディレクトリ、名前をユーザーが指定できる 保存 ダイアログ ボックスを作成します。
OFNHookProc ダイアログ ボックスから送信された通知メッセージを受信します。 この関数は、子ダイアログ テンプレートを指定して定義した追加のコントロールのメッセージも受信します。 これは、エクスプローラー スタイルの [開く] および [名前を付けて保存] ダイアログ ボックスで使用される、アプリケーション定義またはライブラリ定義のコールバック関数です。
OFNHookProcOldStyle ダイアログ ボックス プロシージャ用のメッセージまたは通知を受信します。 これは、 [開く] および [名前を付けて保存] ダイアログ ボックスで使用される、アプリケーション定義またはライブラリ定義のコールバック関数です。
PagePaintHook ページ設定 ダイアログ ボックスでサンプル ページの描画をカスタマイズできるメッセージを受信します。 これは、 PageSetupDlg 関数で使用される、アプリケーション定義またはライブラリ定義のコールバック関数です。
PageSetupDlg ユーザーが印刷ページの属性を指定できるようにする ページ設定 ダイアログ ボックスを作成します。 これらの属性には、用紙のサイズとソース、ページの向き (縦または横)、ページ余白の幅が含まれます。
PageSetupHook ページ設定 ダイアログ ボックスの既定のダイアログ ボックス プロシージャを目的としたメッセージまたは通知を受信します。 これは、PageSetupDlg関数で使用される、アプリケーション定義またはライブラリ定義のコールバック関数です。
PrintDlg 印刷ダイアログボックスを表示します。 印刷 ダイアログ ボックスでは、特定の印刷ジョブのプロパティを指定できます。
PrintDlgEx 印刷 プロパティ シートを表示します。これを使用すると、ユーザーは特定の印刷ジョブのプロパティを指定できます。印刷プロパティ シートには、 印刷 ダイアログ ボックスと同様のコントロールを含む 全般 ページがあります。 プロパティ シートには、 [全般] ページに加えて、アプリケーション固有およびドライバー固有の追加のプロパティ ページも含めることができます。
PrintHookProc 印刷 ダイアログ ボックスの既定のダイアログ ボックス プロシージャを目的としたメッセージまたは通知を受信します。 これは、 PrintDlg 関数で使用される、アプリケーション定義またはライブラリ定義のコールバック関数です。
ReplaceText ユーザーが検索する文字列と置換文字列、および検索と置換の操作を制御するオプションを指定できる、システム定義のモードレス ダイアログ ボックスを作成します。
SetupHookProc PrintDlg 関数で使用されるアプリケーション定義またはライブラリ定義のコールバック関数。 フック プロシージャは、 [印刷設定] ダイアログ ボックスの既定のダイアログ ボックス プロシージャを対象としたメッセージまたは通知を受信します。

インターフェイス

名前 説明
IPrintDialogCallback 印刷プロパティ シート が表示されている間に、アプリケーションが PrintDlgEx 関数から通知とメッセージを受信できるようにするメソッドを提供します。
IPrintDialogServices PrintDlgEx 関数を使用するアプリケーションが現在選択されているプリンタに関する情報を取得できるようにするメソッドを提供します。

Messages (メッセージ)

名前 説明
CDM_GETFILEPATH エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスで、選択したファイルのパスとファイル名を取得します。 ダイアログ ボックスは OFN_EXPLORER フラグを使用して作成されている必要があります。そうでない場合、メッセージは失敗します。
CDM_GETFOLDERIDLIST エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスで現在開いているフォルダーに対応する項目識別子リストのアドレスを取得します。 ダイアログ ボックスは OFN_EXPLORER フラグを使用して作成されている必要があります。そうでない場合、メッセージは失敗します。
CDM_GETFOLDERPATH エクスプローラー スタイルの 開く または 名前を付けて保存 ダイアログ ボックスで現在開いているフォルダーまたはディレクトリのパスを取得します。 ダイアログ ボックスは OFN_EXPLORER フラグを使用して作成されている必要があります。そうでない場合、メッセージは失敗します。
CDM_GETSPEC エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスで現在選択されているファイルのファイル名 (パスは含みません) を取得します。 ダイアログ ボックスは OFN_EXPLORER フラグを使用して作成されている必要があります。そうでない場合、メッセージは失敗します。
CDM_HIDECONTROL エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスで指定されたコントロールを非表示にします。 ダイアログ ボックスは OFN_EXPLORER フラグを使用して作成されている必要があります。そうでない場合、メッセージは失敗します。
CDM_SETCONTROLTEXT エクスプローラー スタイルの 開く または 名前を付けて保存 ダイアログ ボックスで、指定されたコントロールのテキストを設定します。 ダイアログ ボックスは OFN_EXPLORER フラグを使用して作成されている必要があります。そうでない場合、メッセージは失敗します。
CDM_SETDEFEXT エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスの既定のファイル名拡張子を設定します。 ダイアログ ボックスは OFN_EXPLORER フラグを使用して作成されている必要があります。そうでない場合、メッセージは失敗します。
SETRGBSTRING Color ダイアログ ボックスのフック プロシージャ CCHookProc は、現在の色の選択を設定するために、 SETRGBSTRING 登録済みメッセージをダイアログ ボックスに送信できます。
WM_CHOOSEFONT_GETLOGFONT アプリケーションは、 WM_CHOOSEFONT_GETLOGFONT メッセージを Font ダイアログ ボックスに送信して、ユーザーの現在のフォント選択に関する情報を取得します。
WM_CHOOSEFONT_SETFLAGS アプリケーションは、 WM_CHOOSEFONT_SETFLAGS メッセージを Font ダイアログ ボックスに送信して、ダイアログ ボックスの表示オプションを設定します。
WM_CHOOSEFONT_SETLOGFONT アプリケーションは、現在の論理フォント情報を設定するために、 WM_CHOOSEFONT_SETLOGFONT メッセージを Font ダイアログ ボックスに送信します。

通知

名前 説明
CDN_FILEOK ユーザーがファイル名を指定して OK ボタンをクリックしたときに、エクスプローラー スタイルの 開く または 名前を付けて保存 ダイアログ ボックスによって送信されます。
CDN_FOLDERCHANGE 新しいフォルダーを開いたときに、エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
CDN_HELP ユーザーが [ヘルプ] ボタンをクリックしたときに、エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
CDN_INCLUDEITEM 開く または 名前を付けて保存 ダイアログ ボックスによって送信され、ダイアログ ボックスにシェル フォルダーの項目リスト内の項目を表示するかどうかを決定します。 ユーザーがフォルダーを開くと、ダイアログ ボックスはフォルダー内の各項目に対して CDN_INCLUDEITEM 通知を送信します。 ダイアログ ボックスは、ダイアログ ボックスの作成時に OFN_ENABLEINCLUDENOTIFY フラグが設定されている場合にのみ、この通知を送信します。
CDN_INITDONE システムがダイアログ ボックス内のコントロールの配置を完了したときに、エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。 システムは、子ダイアログ ボックスのコントロールのためのスペースを確保するために標準コントロールを移動します。
CDN_SELCHANGE 現在開いているフォルダまたはディレクトリの内容を表示するリスト ボックスで選択内容が変更されたときに、エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
CDN_SHAREVIOLATION ユーザーが OK ボタンをクリックし、選択したファイルでネットワーク共有違反が発生した場合に、エクスプローラー スタイルの 開く または 名前を付けて保存 ダイアログ ボックスによって送信されます。
CDN_TYPECHANGE ユーザーがファイル タイプ コンボ ボックスから新しいファイル タイプを選択したときに、エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
COLOROKSTRING ユーザーが色を選択して OK ボタンをクリックすると、 Color ダイアログ ボックスは、 COLOROKSTRING 登録メッセージをフック プロシージャ CCHookProcに送信します。 フック プロシージャは、色を受け入れてダイアログ ボックスを閉じることも、色を拒否してダイアログ ボックスを強制的に開いたままにすることもできます。
FILEOKSTRING 開く または 名前を付けて保存 ダイアログ ボックスでは、ユーザーがファイル名を指定して、 OK ボタンをクリックすると、 FILEOKSTRING 登録メッセージがフック プロシージャ OFNHookProcに送信されます。 フック プロシージャは、ファイル名を受け入れてダイアログ ボックスを閉じることも、ファイル名を拒否してダイアログ ボックスを強制的に開いたままにすることもできます。
FINDMSGSTRING 検索 または 置換 ダイアログ ボックスは、ユーザーが 次を検索置換、または すべて置換 ボタンをクリックするか、ダイアログ ボックスを閉じると、 FINDMSGSTRING 登録済みメッセージをその所有者ウィンドウのウィンドウ プロシージャに送信します。
HELPMSGSTRING ユーザーが ヘルプ ボタンをクリックすると、共通ダイアログ ボックスは、 HELPMSGSTRING 登録メッセージをその所有者ウィンドウのウィンドウ プロシージャに送信します。
LBSELCHSTRING 開く または 名前を付けて保存 ダイアログ ボックスでは、ダイアログ ボックスのリスト ボックスまたはコンボ ボックスのいずれかの選択内容が変更されると、 LBSELCHSTRING 登録メッセージがフック プロシージャに送信されます。
SHAREVISTRING ユーザーが OK ボタンをクリックしたときに、選択したファイルで共有違反が発生した場合、 開く または 名前を付けて保存 ダイアログ ボックスは、 SHAREVISTRING 登録メッセージをフック プロシージャ OFNHookProc に送信します。
WM_PSD_ENVSTAMPRECT ページ設定 ダイアログ ボックスのフック プロシージャ PagePaintHookに、ダイアログ ボックスがサンプル ページの封筒スタンプの四角形を描画しようとしていることを通知します。
WM_PSD_FULLPAGERECT ページ設定 ダイアログボックス内のサンプルページ四角形の座標を PagePaintHook フックプロシージャに通知します。 ダイアログ ボックスは、サンプル ページのコンテンツを描画しようとするときにこのメッセージを送信します。
WM_PSD_GREEKTEXTRECT ページ設定 ダイアログ ボックスのフック プロシージャ PagePaintHookに、ダイアログ ボックスがサンプル ページの余白四角形内にギリシャ語のテキストを描画しようとしていることを通知します。
WM_PSD_MARGINRECT ページ設定 ダイアログ ボックスのフック プロシージャ PagePaintHookに、ダイアログ ボックスがサンプル ページの余白四角形を描画しようとしていることを通知します。
WM_PSD_MINMARGINRECT サンプル ページの余白四角形の座標を PagePaintHook フック プロシージャに通知します。 ページ設定 ダイアログ ボックスは、サンプル ページの内容を描画しようとするときにこのメッセージを送信します。
WM_PSD_PAGESETUPDLG ページ設定 ダイアログ ボックスがサンプル ページの内容を描画しようとしていることを PagePaintHook フック プロシージャに通知します。 フック プロシージャはこのメッセージを使用して、サンプル ページのコンテンツの描画に関連する初期化タスクを実行できます。
WM_PSD_YAFULLPAGERECT ページ設定 ダイアログ ボックスのフック プロシージャ PagePaintHookに、ダイアログ ボックスが封筒サンプル ページの差出人住所部分を描画しようとしていることを通知します。

構造体

名前 説明
CHOOSECOLOR ChooseColor 関数が Color ダイアログ ボックスを初期化するために使用する情報が含まれます。 ユーザーがダイアログ ボックスを閉じると、システムはこの構造体でユーザーの選択に関する情報を返します。
CHOOSEFONT ChooseFont 関数が Font ダイアログ ボックスを初期化するために使用する情報が含まれます。 ユーザーがダイアログ ボックスを閉じると、システムはこの構造体でユーザーの選択に関する情報を返します。
DEVNAMES プリンターのドライバー、デバイス、および出力ポート名を識別する文字列が含まれます。 PrintDlgEx および PrintDlg 関数は、これらの文字列を使用して、システム定義の 印刷プロパティ シート または 印刷ダイアログ ボックスを初期化します。 ユーザーがプロパティ シートまたはダイアログ ボックスを閉じると、選択したプリンターに関する情報がこの構造体に返されます。
FINDREPLACE FindText および ReplaceText 関数が Find および Replace ダイアログ ボックスを初期化するために使用する情報が含まれています。 FINDMSGSTRING 登録メッセージは、この構造を使用して、ユーザーの検索または置換入力を 検索 または 置換 ダイアログ ボックスの所有者ウィンドウに渡します。
OFNOTIFY 開く または 名前を付けて保存 ダイアログボックスの OFNHookProc フックプロシージャに送信された WM_NOTIFY メッセージに関する情報が含まれています。 WM_NOTIFY メッセージの lParam パラメータは、 OFNOTIFY 構造体へのポインタです。
OFNOTIFYEX CDN_INCLUDEITEM 通知メッセージに関する情報が含まれます。
OPENFILENAME GetOpenFileName および GetSaveFileName 関数が 開く または 名前を付けて保存 ダイアログ ボックスを初期化するために使用する情報が含まれます。 ユーザーがダイアログ ボックスを閉じると、システムはこの構造体でユーザーの選択に関する情報を返します。
OPENFILENAME_NT4 _WIN32_WINNT が 0x0400 に設定された OPENFILENAME と同じです。
PAGESETUPDLG PageSetupDlg 関数が ページ設定 ダイアログ ボックスを初期化するために使用する情報が含まれます。 ユーザーがダイアログ ボックスを閉じると、システムはこの構造体内のユーザー定義のページ パラメータに関する情報を返します。
PRINTDLG PrintDlg 関数が 印刷ダイアログ ボックスを初期化するために使用する情報が含まれます。 ユーザーがダイアログ ボックスを閉じると、システムはこの構造を使用して、ユーザーの選択に関する情報を返します。
PRINTDLGEX PrintDlgEx 関数が 印刷プロパティ シート を初期化するために使用する情報が含まれます。 ユーザーがプロパティ シートを閉じると、システムはこの構造体を使用して、ユーザーの選択に関する情報を返します。
PRINTPAGERANGE 印刷ジョブ内のページの範囲を指定します。 印刷ジョブには複数のページ範囲を含めることができます。 この情報は、 PrintDlgEx 関数を呼び出すときに、 PRINTDLGEX 構造体で提供されます。