只显示*.jpgprocedure TForm1.ShellListView1AddFolder(Sender: TObject; AFolder: TShellFolder; var CanAdd: Boolean); begin if (AFolder.IsFolder = false) and (extractfileext(AFolder.DisplayName) <> '*.jpg') then begin CanAdd := False; end; end;排序事件 begin SortColumn := 0; ShellListView1.FolderList.Sort(ShellCompare); ShellListView1.Invalidate; end;
我用的也是D7,少了一个函数 function ShellCompare(Item1, Item2: Pointer): Integer; begin Result := Smallint( TShellFolder(Item1).ParentShellFolder.CompareIDs( SortColumn, TShellFolder(Item1).RelativeID, TShellFolder(Item2).RelativeID)); end;
var CanAdd: Boolean);
begin
if (AFolder.IsFolder = false) and (extractfileext(AFolder.DisplayName) <> '*.jpg')
then begin
CanAdd := False;
end;
end;排序事件
begin
SortColumn := 0;
ShellListView1.FolderList.Sort(ShellCompare);
ShellListView1.Invalidate;
end;
排序问题还没解决,
ShellListView1.FolderList 编译不过,
没有FolderList 这个属性。
我用的是delphi7
function ShellCompare(Item1, Item2: Pointer): Integer;
begin
Result := Smallint(
TShellFolder(Item1).ParentShellFolder.CompareIDs(
SortColumn,
TShellFolder(Item1).RelativeID,
TShellFolder(Item2).RelativeID));
end;