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

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

このセクションでは、[ ファイルを開く ] ダイアログ ボックスと [ ファイルとして保存 ] ダイアログ ボックスを含む一般的なダイアログ ボックスについて説明します。[ 検索置換 ] 編集ダイアログ ボックス。 [印刷]、[ 印刷設定]、[ プロパティ シートの印刷]、[ ページ設定] の各印刷ダイアログ ボックス。および [ ] ダイアログ ボックスと [フォント] ダイアログ ボックス。

注意

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

このセクションの内容

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

関数

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

インターフェイス

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

メッセージ

名前 説明
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 [色] ダイアログ ボックスのフック プロシージャ CCHookProc は、SETRGBSTRING 登録済みメッセージをダイアログ ボックスに送信して、現在の色の選択を設定できます。
WM_CHOOSEFONT_GETLOGFONT アプリケーションは 、WM_CHOOSEFONT_GETLOGFONT メッセージを [フォント ] ダイアログ ボックスに送信して、ユーザーの現在のフォント選択に関する情報を取得します。
WM_CHOOSEFONT_SETFLAGS アプリケーションは、 WM_CHOOSEFONT_SETFLAGS メッセージを [ フォント ] ダイアログ ボックスに送信して、ダイアログ ボックスの表示オプションを設定します。
WM_CHOOSEFONT_SETLOGFONT アプリケーションは 、WM_CHOOSEFONT_SETLOGFONT メッセージを [ フォント ] ダイアログ ボックスに送信して、現在の論理フォント情報を設定します。

通知

Name 説明
CDN_FILEOK ユーザーがファイル名を指定して [OK] ボタンをクリックしたときに、エクスプローラースタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
CDN_FOLDERCHANGE 新しいフォルダーを開いたときに、エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
CDN_HELP ユーザーが [ヘルプ] ボタンをクリックしたときに、エクスプローラースタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
CDN_INCLUDEITEM [ 開く ] または [ 名前を付けて保存] ダイアログ ボックスによって送信され、ダイアログ ボックスでシェル フォルダーのアイテム リストにアイテムを表示するかどうかを決定します。 ユーザーがフォルダーを開くと、ダイアログ ボックスはフォルダー内の各項目 に対してCDN_INCLUDEITEM 通知を送信します。 ダイアログ ボックスは、ダイアログ ボックスの作成時に OFN_ENABLEINCLUDENOTIFY フラグが設定された場合にのみ、この通知を送信します。
CDN_INITDONE エクスプローラースタイルの [開く] ダイアログ ボックスまたは [名前を付けて保存] ダイアログ ボックスで、コントロールの配置が完了したときに送信されます。 標準コントロールが移動され、子ダイアログ ボックスのコントロール用のスペースが作成されます。
CDN_SELCHANGE 現在開いているフォルダーまたはディレクトリの内容を表示するリスト ボックスで選択内容が変更されたときに、エクスプローラー スタイルの [く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
CDN_SHAREVIOLATION ユーザーが [OK] ボタンをクリックし、選択したファイルに対してネットワーク共有違反が発生したときに、エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
CDN_TYPECHANGE ユーザーが [ファイルの種類] コンボ ボックスから新しいファイルの種類を選択したときに、エクスプローラー スタイルの [開く] または [名前を付けて保存] ダイアログ ボックスによって送信されます。
COLOROKSTRING [色] ダイアログ ボックスは、ユーザーが色を選択して [OK] ボタンをクリックすると、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 ダイアログ ボックスのフック プロシージャに通知します。

構造

Name 説明
CHOOSECOLOR ChooseColor 関数が [色] ダイアログ ボックスの初期化に使用する情報を格納します。 ユーザーがダイアログ ボックスを閉じると、この構造のユーザーの選択に関する情報が返されます。
CHOOSEFONT ChooseFont 関数が [フォント] ダイアログ ボックスの初期化に使用する情報を格納します。 ユーザーがダイアログ ボックスを閉じると、この構造のユーザーの選択に関する情報が返されます。
DEVNAMES プリンターのドライバー、デバイス、および出力ポート名を識別する文字列が含まれています。 PrintDlgEx 関数と PrintDlg 関数は、これらの文字列を使用して、システム定義の [印刷プロパティ シート] または [印刷] ダイアログ ボックスを初期化します。 ユーザーがプロパティ シートまたはダイアログ ボックスを閉じると、選択したプリンターに関する情報がこの構造で返されます。
FINDREPLACE FindText 関数と ReplaceText 関数が [検索] ダイアログ ボックスと [置換] ダイアログ ボックスを初期化するために使用する情報を格納します。 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 関数が Print プロパティ シートの初期化に使用する情報を格納します。 ユーザーがプロパティ シートを閉じると、システムはこの構造体を使用して、ユーザーの選択に関する情報を返します。
PRINTPAGERANGE 印刷ジョブ内のページの範囲を指定します。 印刷ジョブには、複数のページ範囲を含めることができます。 この情報は、 PrintDlgEx 関数を呼び出すときに PRINTDLGEX 構造体で提供されます。