共通ダイアログ ボックス ライブラリには、ファイルのオープン、カラー値の選択、ドキュメントの印刷など、一般的なアプリケーション タスクを実行するためのダイアログ ボックスのセットが含まれています。 共通ダイアログ ボックスを使用すると、アプリケーションのユーザー インターフェイスに一貫したアプローチを実装できます。 これにより、ユーザーがアプリケーションのユーザー インターフェイスの動作を学習するために費やす労力が削減されます。
このセクションでは、 開く および 名前を付けて保存 ファイル ダイアログ ボックス、 検索 および 置換 編集ダイアログ ボックス、 印刷、 印刷設定、 印刷プロパティ シート、および ページ設定 印刷ダイアログ ボックス、 色 および フォント ダイアログ ボックスなどの共通ダイアログ ボックスについて説明します。
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 関数を使用するアプリケーションが現在選択されているプリンタに関する情報を取得できるようにするメソッドを提供します。 |
[メッセージ]
| 名前 | 説明 |
|---|---|
| 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 構造体で提供されます。 |