ファイル選択・保存ダイアログコンポーネント
イベント |
動作確認等 |
- |
ダイアログを表示した時に発生します.このイベント発生時点でファイルリストは作成されています. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
OnBeforeClose(Sender, FilePath, Action)
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
FilePath |
String |
選択中のファイルのフルパス名 |
var Action |
Boolean |
この値を False にするとフォームを閉じない
デフォルトは True |
[ ファイル名変更 ] ボタンクリック時のイベント |
OnBeforeReName(Sender, FilePath, Action )
ポップアップメニューの [ファイル名変更] を選択した時に発生します.
OnBeforeName イベントとは違い名前変更の動作には入っていません.独自のファイル名変更ルーチンを使用するのに利用できます. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
FilePath |
String |
選択中のファイルのフルパス名 |
var Action |
Boolean |
この値を False にすると名前変更動作に入らない
デフォルトは True |
OnBeforeReName(Sender, OldFilePath, NewFilePath, Action)
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
OldFilePath |
String |
選択中のファイルで,これから変更しようとするファイルのフルパス名 |
NewFilePath |
String |
変更後のフルパス名 |
var Action |
Boolean |
この値を False にすると変更しない
また OnAfterReName イベントも発生しない
デフォルトは True |
OnAfterReName(Sender, OldFilePath, NewFilePath, Flag)
ファイル名の変更動作の後に発生します.このイベントを記述するとファイル名の変更が失敗した時のダイアログを表示しません. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
OldFilePath |
String |
変更前のフルパス名 |
NewFilePath |
String |
変更後のフルパス名 |
Flag |
Boolean |
この値が True なら変更は成功
False なら失敗してファイル名は変更されない |
OnBeforeDelete(Sender, FilePath, Action)
ファイルを削除する前に発生します.必要ならばこのイベント内で処理して下さい. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
FilePath |
String |
削除の対象となるファイルのフルパス名 |
var Action |
Boolean |
この値を False にすると削除しない
OnAfterDelete イベントも発性しない
デフォルトは True |
//=============================================================================
// 削除の確認ダイアログ表示
//=============================================================================
procedure TForm1.plOpenDialog1BeforeDelete(Sender: TObject; FilePath: string;
var Action: Boolean);
var
Ret : Integer;
begin
Ret := MessageDlgPos('本当に削除してもよろしいですか.',
mtConfirmation, [mbOK, mbCancel], 0, Left, Top);
Action := Ret = mrOk;
end;
OnAfterDelete(Sender, FilePath, Flag)
ファイル削除動作の後に発生します.このイベントを記述すると,ファイル削除に失敗した時のダイアログを表示しません. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
FilePath |
String |
削除の対象となったファイルのフルパス名 |
Flag |
Boolean |
この値が True なら削除は成功
False なら削除に失敗して削除されていない |
OnFindBtnClick(Sender, Directory, DefautEvent, AndFindText)
絞込み検索表示用に用意したボタンをクリックすると発生します. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Directory |
String |
現在のディレクトリ |
var DefautEvent |
Boolean |
True の時はファイル名検索用のダイアログを表示
デフォルトは True |
var AndFindText |
String |
FindText プロパティで表示したファイルに対して,更にこの文字列を含むファイルのみを表示する絞り込み検索ができる |
リスト2
デフォルトの動作を禁止し,文字列 '12' で絞り込み (部分一致) 検索してファイル一覧を更新
フォルダの参照ダイアログを表示すると元に戻る |
procedure TForm1.plOpenDialog1FindBtnClick(Sender: TObject; Directory: string;
var DefautEvent: Boolean; var AndFindText: string);
begin
DefautEvent := False;
AndFindText := '12';
plOpenDialog1.GetFilesList;
end;
OnFolderBtnClick(Sender, Directory, DefautEvent)
フォルダの参照ダイアログ表示用に用意したボタンをクリックすると発生します.
ここで表示されたフォルダの参照ダイアログで,フォルダを選択して [OK] でダイアログを閉じると,そのディレクトリ名が Directory プロパティに返されます. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Directory |
String |
現在のディレクトリ |
var DefaultEvent |
Boolean |
False にするとフォルダ参照ダイアログを表示しない
独自のメニューなどを使用する場合に利用可能
デフォルトは True |
OnFileListed(Sender, Directory, Count, ItemList,Text)
表示フォルダが変更になった時に発生します.
フォルダの参照ダイアログを表示している時に選択フォルダを変更した場合にも発生します. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Directory |
String |
現在のフォルダ |
Count |
Integer |
ファイル数 |
ItemList |
TplFileDialogDataList |
現在のフォルダのファイルリスト情報 |
var Text |
String |
この値を設定すると,ディレクトリ名の代わりにこの文字列を表示する |
//=============================================================================
// ダイアログ上部にファイル数を表示
// DisplayDirectoryをTrueにしておく必要あり
//=============================================================================
procedure TForm1.plOpenDialog1FileListed(Sender: TObject; Directory: string;
Count: Integer; ItemList: TplFileDialogDataList; var Text: string);
begin
Text := 'ファイル数 : ' + IntToStr(Count);
end;
リスト4
拡張子が .doc と docx のファイルをリスト |
//=============================================================================
// ファイルリストを取得したら拡張子が.docと.docxだけをリストする
//=============================================================================
procedure TForm1.plSaveDialog1FileListed(Sender: TObject; Directory: string;
Count: Integer; ItemList: TplFileDialogDataList; var Text: string);
var
i : Integer;
AExt : String;
begin
for i := ItemList.Count - 1 downto 0 do begin
AExt := ExtractFileExt(ItemList[i].FileFullPath);
if (UpperCase(AExt) <> '.DOC') and (UpperCase(AExt) <> '.DOCX') then begin
ItemList.Delete(i);
end;
end;
//protected部のListViewのItems数をセット
//仮想リストビューなのでこれで再描画が実行される
TplDialog(plSaveDialog1).ListView.Items.Count := ItemList.Count;
end;
OnAdvancedCustomDrawItem(Sender,
Item,State,
Stage,
DefaultDraw,
ImgListHandle,
ItemList)
ファイルリストを描画する際に発生するイベントです.カスタム描画用に用意しました.使用例がテストプログラムにあります. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Item |
TListItem |
TListView のヘルプ参照 |
State |
TCustomDrawState |
TListView のヘルプ参照 |
Stage |
CustomDrawStage |
TListView のヘルプ参照 |
var DefaultDraw |
Boolean |
TListView のヘルプ参照 |
ImgListHandle |
Cardinal |
システムイメージリストのハンドル |
ItemList |
TplFileDialogDataList |
現在のフォルダのファイルリスト情報 |
|