掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ShellListViewでソート (ID:16443)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>ShellListView で詳細表示(Repot)にしたときに、カラムをクリックして >ソートしたいのですが、どうしたらいいのでしょうか? ふたスジ: 「ほんま、ソートでけたらエエな〜」 ひとスジ: 「それは、そ〜と〜ムズカシイかも」 ふたスジ: 「おやじギャグ、さぶいで」 ひとスジ: 「アツイ時には おやじギャグで涼しく...なんちゃって」 ふたスジ: 「もっとアツぅなる(~_~;)A はよ教えてんか」 ひとスジ: 「ソートするには、TShellListViewのソースもチョット書き換えないと...」 ふたスジ: 「ん〜、ならD6 Personalやとダメなん?」 ひとスジ: 「Demos\ShellControls\にあるから、ダイジョウV! 」 ふたスジ: 「ホンマ、スベっとるで」 const MAXCOLUMN = 4; var FSortColumnIdx: Integer; FSortOrder: array[0..MAXCOLUMN] of Boolean; function CustomShellSortProc(Item1, Item2: Pointer): Integer; begin result := SmallInt(TShellFolder(Item1).ParentShellFolder.CompareIDs( FSortColumnIdx, TShellFolder(Item1).RelativeID, TShellFolder(Item2).RelativeID)); if FSortOrder[FSortColumnIdx] then begin result := -result; end; end; procedure TForm1.ShellListView1ColumnClick(Sender: TObject; Column: TListColumn); begin FSortColumnIdx := Column.Index; ShellListView1.FolderList.Sort(CustomShellSortProc); ShellListView1.Invalidate; FSortOrder[FSortColumnIdx] := not FSortOrder[FSortColumnIdx]; end; *ShellCtrls.pas 書き換え { TShellListView } TShellListView = class(TCustomShellListView) published property FolderList: TList read FFolders; // 追加 ........... end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.