ShellListView1 を必要とする Delphi 7 のプロジェクトに取り組んでいるので、.PNG または .JPG ファイルのみを表示します。
フォルダと特定のファイル タイプ (例: ' .exe; .bat')のみを表示するにはどうすればよいですか?
マスキングを使用した ShellListView1 コンポーネントであると言われましたが、試した Web サイトはオフラインです。
OnAddFolder
アイテムがリストに追加されるたびに発生するイベントのハンドラーを作成できます。次のコードでは、拡張子が*.exe
またはのファイルのみをリストに追加できます。*.bat
procedure TForm1.ShellListView1AddFolder(Sender: TObject;
AFolder: TShellFolder; var CanAdd: Boolean);
var
FileExt: string;
begin
CanAdd := not AFolder.IsFolder;
if CanAdd then
begin
FileExt := ExtractFileExt(AFolder.PathName);
CanAdd := (FileExt = '.exe') or (FileExt = '.bat');
end;
end;
uses Masks;
...
procedure TForm1.ShellListView1AddFolder(Sender: TObject;
AFolder: TShellFolder; var CanAdd: Boolean);
begin
CanAdd := AFolder.IsFolder or MatchesMask(AFolder.PathName, '*.exe');
end;
関数 MatchesMask()は True を返します。これは、文字列値がマスクで指定された形式に一致する場合です。
構文的に有効なマスクは、リテラル文字、セット、およびワイルドカードで構成されます。ワイルドカードは、アスタリスク (*) または疑問符 (?) です。アスタリスクは任意の数の文字に一致します。疑問符は、任意の 1 文字に一致します。