CommDialog コモンダイアログ


 このオブジェクトは、 「ファイルを開く」「名前をつけて保存」「フォルダの参照」などのダイアログを表示するためのオブジェクトです。

 次の種類のものがあります。

 

@ 直接生成する方法

VBScriptの場合

Dim Instance
Set Instance = WScript.CreateObject( "SeraphyScriptTools.CommDialog")

"SeraphyScriptTools.CommDialog"というProgIDです。

A InstanceオブジェクトのDialogプロパティを利用する方法

 Instanceオブジェクトには、すでに、このオブジェクトが生成済みでメインウィンドウに関連づけられています。
 通常はInstanceオブジェクトから利用すると便利です。

 

ファイルを開く

「ファイルを開く」 ダイアログを表示します。

◎ シングル

returnvalue OpenFileDialog [PathName] , [Filter]

 OpenFileDialogメソッドは「ファイルを開く」ダイアログを表示します。
 選択されたファイル名が返されます。
 キャンセルした場合はヌルが返ります。
 パラメーターは、いずれも省略可能です。

 PathNameは初期状態で表示されるファイル名です。
 Filterはフィルタリングするもので、つぎのような書式をもちます。

 表示名 | ワイルドカード | 表示名 | ワイルドカード …

 フィルタリング文字はダイアロクボックス上に表示される「表示名」と、実際にファイルをフィルタリングするワイルドカードによるフィルタを「 | 」で区切ります。

 例) "テキストファイル(*.TXT)|*.TXT|すべてのファイル|*.*"

◎ マルチ

returnvalue MultiOpenFileDialog [PathName] , [Filter]

 MultiOpenFileDialogメソッドは「ファイルを開く」ダイアログを表示します。
 複数のファイルを選択することができます。
 戻り値はVariant配列が返されます。
 キャンセルした場合はヌルが返されます。
 受けられるファイル名の合計長は8KByte程度なので、あまり沢山のファイルは選択できません。

 それ以外はOpenFileDialogと同じです。

BOOL EnableCreatePrompt

 True(真)で、存在しないファイルを指定した場合、「ファイルは存在しません。作成しますか?」という問い合わせが表示されるようになります。
 False(偽)は存在しないファイルを指定することはできません。(標準の動作)

BSTR OpenFileCaption

 明示的にキャプションを指定することができます。
 これを指定しないとディフォルトの「ファイルを開く」というタイトルで表示されます。

BOOL EnableReadOnly

 True(真)で、「読み取り専用で開く」というチェックボックスが表示されるようになります。
 False(偽)はチェックボックスは表示されません。(標準の動作)

 

BOOL ReadOnly

 OpenFileDialogを実行するまえに、この値をセットすることができます。
 ダイアログを表示した時点での「読み取り専用で開く」 の状態を指定することができます。
 その後、ユーザーがチェックボックスを変更した結果が、このプロハティに戻されます。

BOOL NoDereferenceLinks

 True(真)で、ショートカットを指定したときに、ショートカットオブジェクトそのものを返します。
  False(偽)はショートカットのリンク先を返します。(標準の動作)

BSTR InitialDir

 任意のディレクトリをディフォルトのディレクトリにすることができます。
 省略(空)するとOSに依存します。
  ただし、パスの指定のフォルダがあれば、それが優先されます。
 SaveFileDialogと共有です。

 

 

名前をつけて保存

ファイルを開く ダイアログを表示します。

returnvalue SaveFileDialog [PathName] , [Filter]

 「名前をつけて保存」ダイアログを表示します。
 指定したファイル名が戻ります。
 キャンセルした場合はヌルが返ります。

 パラメーターの指定はOpenFileDialogと同様です。

BSTR SaveFileCaption

 明示的にキャプションを指定することができます。
 これを指定しないとディフォルトの「名前をつけて保存」というタイトルで表示されます。

BSTR InitialDir

 任意のディレクトリをディフォルトのディレクトリにすることができます。
 省略(空)するとOSに依存します。
  ただし、パスの指定のフォルダがあれば、それが優先されます。
 OpenFileDialogと共有です。

 

フォルダの参照

フォルダ選択ダイアログを表示します

returnvalue BrowseForFolder [Message] , [Dir]

 「フォルダの参照」ダイアログを表示します。
 選択されたフォルダ名を返します。
 キャンセルした場合はヌルが返ります。

 Dirは初期選択のディレクトリで、省略すると「マイコンピュータ」となります。
 メッセージを省略すると、BrowseForFolderCaptionプロパティの内容になります。

BSTR BrowseForFolderCaption

 「フォルダの選択」ダイアログのディフォルトのメッセージを指定します。
 BrowseForFolderメソッドで指定したメッセージが優先されます。

 

 

メッセージボックス

メッセージボックスを表示します。

VBScriptのMsgBoxなどとの違いは、メインウィンドウを指定することにより親子関係ができる、という点にあります。
したがって、ウィンドウを表示している中にメッセージボックスを表示する必要があれば、こちらを使うほうがよいでしょう。

returnvalue MessageBox message , [typ] , [icon]

 メッセージボックスを表示します。
 VBScriptなどではMsgBoxという関数がありますが、このメッセージボックスは親ウィンドウをもつことができます。
 InstanceオブジェクトのDialogオブジェクトからMessageBoxを使う場合、MainFrameオブジェクトが親ウィンドウとして使われます。

 typにはウィンドウのタイプを示します。
 「逆」の数値を指定すると、2番目のボタンがディフォルト・ボタンになります。

選択項目
0 10 OK
1 11 OK / CANCEL
2 12 YES / NO
3 13 YES / NO / CANCEL
4 14 RETRY / CANCEL
5 15 ABORT / RETRY / IGNORE

 iconには、アイコンの表示する種類を指定します。

0 アイコンなし
1 エラー
2 警告
3 情報
4 問い合わせ

 ユーザーが選択したボタンの結果がメソッドの戻り値となります。

1 OK / YES / 再試行(RETRY)
0 NO / 無視(IGNORE)
-1 キャンセル / 中止(ABORT)

 

BSTR MessageCaption

メッセージボックスのタイトルを明示することができます。
省略するとメインウィンドウのウィンドウキャプションと同じタイトルになります。


 

カラー選択ダイアログ

色選択ダイアログを表示します

long ColorDialog

カラーを作成したりできます。

 

 

環境設定

メインウィンドウを指定します

SetMainWindow Obj

メインウィンドウを指定します。
Objには、OverlappedWindowオブジェクトを指定します。

メインウィンドウを指定した場合、メッセージボックスのタイトルを取得する場合には必要なときに随時、最新のキャプションが取り込まれます。
また、メインウィンドウと親子関係がつくられます。
メインウィンドウに属する形でメッセージボックスやダイアログが表示されます。

InstanceオブジェクトのDialogオブジェクトプロパティを使う場合には、MainFrameオブジェクトがあらかじめメインウィンドウとして設定済みです。