CommonDialog コントロールの使用
CommonDialog コントロールは、ファイルを開いたり保存したり、印刷オプションを設定したり、色やフォントを選択したりするための一連の標準ダイアログ ボックスを提供します。 Windows ヘルプ エンジンの実行中に、コントロールはヘルプを表示することもできます。
CommonDialog コントロールは、Visual Basic と Microsoft Windows ダイナミック リンク ライブラリ Commdlg.dll ルーチン間のインターフェイスを提供します。このコントロールを使用してダイアログ ボックスを作成するには、Commdlg.dll が MicrosoftWindows/System ディレクトリに存在する必要があります。
アプリケーションで CommonDialog コントロールを使用するには、それをフォームに追加し、そのプロパティを設定する必要があります。コントロールによって表示されるダイアログは、コントロールのメソッドによって決まります。実行時には、対応するメソッドを呼び出した後にダイアログ ボックスまたはヘルプ エンジンが表示されます。設計時には、CommonDialog コントロールがフォーム上にアイコンとして表示されます。このアイコンのサイズは変更できません。
CommonDialog コントロールは、次の共通ダイアログ ボックスを表示できます。
"開ける"
「名前を付けて保存」
"色"
"フォント"
「プリント」
CommonDialog コントロールを使用するには
1. CommonDialog コントロールが追加されていない場合は、[プロジェクト] メニューから [コンポーネント] を選択し、コントロールをツールボックスに追加する必要があります。マーキングダイアログの「コントロール」でコントロールを見つけて選択し、「OK」ボタンをクリックします。
2. ツールボックスの「CommonDialog」コントロールをクリックし、フォーム上にコントロールを描画します。 CommonDialog コントロールをフォーム上に描画すると、コントロールのサイズが自動的に変更されます。 Timer コントロールと同様、CommonDialog コントロールは実行時には表示されません。
3. 実行時には、次の表に示すメソッドを適切に使用して、必要なダイアログを表示してください。
[開く]ダイアログ ボックスと[名前を付けて保存]ダイアログ ボックスを表示する
[開く] ダイアログ ボックスでは、ドライブ、ディレクトリ、ファイル拡張子、およびファイル名を指定できます。 [名前を付けて保存] ダイアログ ボックスの外観は、ダイアログ ボックスのタイトルとファイル名が淡色表示されていることを除いて、[開く] ダイアログ ボックスと同じです。実行時にファイルを選択してダイアログ ボックスを閉じた後、FileName プロパティを使用して選択したファイル名を取得できます。
「開く」ダイアログボックスを表示するには
1. [ファイル タイプ] リスト ボックスに表示されるファイル フィルタのリストを指定します。
Filter プロパティは次の形式で設定できます。
説明 1|フィルター 1|説明 2|フィルター 2...
説明はリスト ボックスに表示される文字列です (例: TextFiles(*.txt))。 Filter は実際のファイル フィルタです (*.txt など)。各 description|filter 設定はパイプ記号 (|) で区切る必要があります。
2. ShowOpen メソッドを使用してダイアログ ボックスを表示します。
ファイルを選択した後、FileName プロパティを使用して、選択したファイルの名前を取得できます。
すべてのパブリック ダイアログ ボックスでは、CancelError プロパティが True でユーザーがダイアログ ボックスの [キャンセル] ボタンをクリックすると、エラーが生成されます。ダイアログ ボックスを表示するときにエラーをキャッチし、[キャンセル] ボタンが押されたかどうかを検出します。
次のコードは、[開く] ダイアログ ボックスを表示し、選択したファイル名のファイル プロシージャのパラメーターを開きます。
PRivateSubmnuFileOpen_Click()
'キャンセルエラーは True です。
OnErrorGoToErrHandler
'フィルターを設定します。
CommonDialog1.Filter=AllFiles(*.*)|*.*|Text_
ファイル(*.txt)|*.txt|バッチファイル(*.bat)|*.bat
'デフォルトのフィルターを指定します。
CommonDialog1.FilterIndex=2
'開くダイアログボックスを表示します。
CommonDialog1.ShowOpen
' ファイルを開くプロシージャを呼び出します。
OpenFile(CommonDialog1.ファイル名)
ExitSub
エラーハンドラ:
'ユーザーが「キャンセル」ボタンを押しました。
ExitSub
EndSub
「カラー」ダイアログボックスの使用
[カラー] ダイアログ ボックスを使用して、カラー パレットから色を選択するか、カスタム カラーを作成して選択します。実行時に、色を選択してダイアログ ボックスを閉じた後、Color プロパティを使用して、選択した色を取得できます。
「カラー」ダイアログボックスを表示するには
1. CommonDialog コントロールの Flags プロパティを VisualBasic 定数 cdlCCRGBInit に設定します。
2. ShowColor メソッドを使用してダイアログ ボックスを表示します。
Color プロパティを使用して、選択した色の RGB 値を取得できます。次のコードは、Command1 コマンド ボタンをクリックすると、[色] ダイアログ ボックスを表示します。
PrivateSubCommand1_Click()
'キャンセルを True に設定します。
CommonDialog1.CancelError=True
OnErrorGoToErrHandler
'Flags プロパティを設定します。
CommonDialog1.Flags=cdlCCRGBInit
'「カラー」ダイアログボックスを表示します。
CommonDialog1.ShowColor
「フォームの背景色を選択した色に設定します」。
Form1.BackColor=CommonDialog1.Color
ExitSub
エラーハンドラ:
「ユーザーが「キャンセル」ボタンを押しました。
ExitSub
EndSub
「フォント」ダイアログボックスの使用
[フォント] ダイアログ ボックスでは、サイズ、色、スタイルに基づいてフォントを選択します。ユーザーが [フォント] ダイアログ ボックスでフォントを選択すると、次のプロパティにユーザーのオプションに関する情報が含まれます。
「フォント」ダイアログボックスを表示するには
1. Flags プロパティを次の Visual Basic 定数のいずれかに設定します。
cdlCFScreenFonts (スクリーン フォント)
cdlCFPrinterFonts (プリンター フォント)
cdlCF Both (スクリーン フォントまたはプリンター フォントのいずれかにすることができます)
警告 [フォント]ダイアログ ボックスを表示する前に、Flags プロパティをこれらの値のいずれかに設定する必要があります。そうしないと、フォントが存在しないというエラーが発生します。
2. ShowFont メソッドを使用してダイアログ ボックスを表示します。
次のコードは、[フォント] ダイアログ ボックスでのユーザーの選択に基づいてテキスト ボックスのフォント プロパティを設定します。
PrivateSubCommand1_Click()
'キャンセルを True に設定します。
CommonDialog1.CancelError=True
OnErrorGoToErrHandler
'Flags プロパティを設定します。
CommonDialog1.Flags=cdlCF BothOrcdlCFEffects
'「フォント」ダイアログボックスを表示します。
CommonDialog1.ShowFont
'ユーザーの選択に基づいてテキストのプロパティを設定します。
Text1.Font.Name=CommonDialog1.FontName
Text1.Font.Size=CommonDialog1.FontSize
Text1.Font.Bold=CommonDialog1.FontBold
Text1.Font.Italic=CommonDialog1.FontItalic
Text1.Font.Underline=CommonDialog1.FontUnderline
Text1.FontStrikethru=CommonDialog1.FontStrikethru
Text1.ForeColor=CommonDialog1.Color
ExitSub
エラーハンドラ:
「ユーザーが「キャンセル」ボタンを押しました。
ExitSub
EndSub
->