Vcl.Dialogs.TOpenDialog.Filter
Delphi
property Filter: string read FFilter write FFilter;
C++
__property System::UnicodeString Filter = {read=FFilter, write=FFilter};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | Vcl.Dialogs.pas Vcl.Dialogs.hpp |
Vcl.Dialogs | TOpenDialog |
説明
ダイアログボックスで使用できるファイルマスク(フィルタ)を指定します。
ファイル選択用のダイアログボックスには,編集ボックスにファイルの種類を表示するドロップダウンリストがあります。ユーザーがリストからファイルの種類を選択すると,選択した種類のファイルだけがダイアログボックスに表示されます。
設計時にファイルマスクを作成するには,オブジェクトインスペクタで Filter プロパティの右側にある省略記号(...)をクリックします。これで Filter エディタが開きます。Filter エディタの左列の Filter 名の下に,実行時に使用できる各ファイルの種類の簡単な説明を入力します。右の列の Filter の下には,各説明に対応するファイルマスクを入力します。たとえば,マスク「*.txt」の左には「テキストファイル」という説明が表示され,「*.pas」の左には「Pascal のソースファイル」という説明が表示されます。実行時にはドロップダウンリストに説明が表示されるので,フィルタマスクを明示的に示す方が使用しやすくなります(たとえば「テキストファイル(*.txt)」など)。
プログラムコードでファイルマスクを作成するには,縦棒(パイプ)で区切られた説明とマスクで構成される Filter プロパティに値を代入します。縦棒の両側にはスペースを入れないでください。次に例を示します。
OpenDialog1.Filter := 'Text files (*.txt)|*.TXT';
OpenDialog1->Filter = "Text files (*.txt)|*.TXT";
複数のフィルタは縦棒で区切らなければなりません。次に例を示します。
OpenDialog1.Filter := 'Text files (*.txt)|*.TXT|Pascal files (*.pas)|*.PAS';
OpenDialog1->Filter = "Text files (*.txt)|*.TXT|Pascal files (*.pas)|*.PAS";
1 つのフィルタに複数のマスクを含めるには,マスクをセミコロンで区切ります。これはオブジェクトインスペクタとプログラムコードの両方で機能します。次に例を示します。
OpenDialog1.Filter := 'Pascal files|*.PAS;*.DPK;*.DPR';
OpenDialog1->Filter = "Pascal files|*.PAS;*.DPK;*.DPR";
Filter プロパティに値が代入されていない場合,ダイアログボックスはすべてのファイルの種類を表示します。