OSDN Git Service

キーボードからカラムのソートをできるようにした。
authorh677 <h677>
Thu, 4 Nov 2004 13:34:46 +0000 (13:34 +0000)
committerh677 <h677>
Thu, 4 Nov 2004 13:34:46 +0000 (13:34 +0000)
Giko.dfm
Giko.pas

index 6341aa0..1f93771 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -7152,6 +7152,24 @@ object GikoForm: TGikoForm
       ImageIndex = 52
       OnExecute = MuteActionExecute
     end
+    object SortActiveColumnAction: TAction
+      Category = #26495
+      Caption = #29694#22312#12398#12459#12521#12512#12434#12477#12540#12488#12377#12427
+      Hint = #29694#22312#12398#12459#12521#12512#12434#12477#12540#12488#12377#12427
+      OnExecute = SortActiveColumnActionExecute
+    end
+    object SortNextColumnAction: TAction
+      Category = #26495
+      Caption = #21491#38563#12398#12459#12521#12512#12434#12477#12540#12488
+      Hint = #21491#38563#12398#12459#12521#12512#12434#12477#12540#12488
+      OnExecute = SortNextColumnActionExecute
+    end
+    object SortPrevColumnAction: TAction
+      Category = #26495
+      Caption = #24038#38563#12398#12459#12521#12512#12434#12477#12540#12488
+      Hint = #24038#38563#12398#12459#12521#12512#12434#12477#12540#12488
+      OnExecute = SortPrevColumnActionExecute
+    end
   end
   object BrowserPopupMenu: TPopupMenu
     Left = 68
index e7501eb..800dfb6 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -597,6 +597,9 @@ type
     ToolButton22: TToolButton;
     N72: TMenuItem;
     N73: TMenuItem;
+    SortActiveColumnAction: TAction;
+    SortNextColumnAction: TAction;
+    SortPrevColumnAction: TAction;
                                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
                procedure CabinetPanelHide(Sender: TObject);
@@ -949,6 +952,9 @@ type
     procedure IndividualAbonID0ActionExecute(Sender: TObject);
     procedure KokoPopupMenuPopup(Sender: TObject);
     procedure MuteActionExecute(Sender: TObject);
+    procedure SortActiveColumnActionExecute(Sender: TObject);
+    procedure SortNextColumnActionExecute(Sender: TObject);
+    procedure SortPrevColumnActionExecute(Sender: TObject);
        private
                { Private \90é\8c¾ }
         //RoundList : TRoundList;
@@ -12078,7 +12084,56 @@ end;
 
 procedure TGikoForm.MuteActionExecute(Sender: TObject);
 begin
-       GikoSys.Setting.Mute := not GikoSys.Setting.Mute; 
+       GikoSys.Setting.Mute := not GikoSys.Setting.Mute;
+end;
+
+procedure TGikoForm.SortActiveColumnActionExecute(Sender: TObject);
+var
+       i       : Integer;
+begin
+       for i := 0 to ListView.Columns.Count - 1 do begin
+               if (ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
+                       (ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
+                       FSortOrder := not FSortOrder;
+                       ListViewSort( nil, ListView.Column[ i ] );
+                       break;
+               end;
+       end;
+end;
+
+procedure TGikoForm.SortNextColumnActionExecute(Sender: TObject);
+var
+       i, id   : Integer;
+begin
+       for i := 0 to ListView.Columns.Count - 1 do begin
+               if (ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
+                       (ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
+                       id := i + 1;
+                       if id > ListView.Columns.Count - 1 then
+                               id := 0;
+                       FSortOrder := id = 0;
+                       ListViewSort( nil, ListView.Column[ id ] );
+                       break;
+               end;
+       end;
+
+end;
+procedure TGikoForm.SortPrevColumnActionExecute(Sender: TObject);
+var
+       i, id   : Integer;
+begin
+       for i := 0 to ListView.Columns.Count - 1 do begin
+               if (ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT1) or
+                       (ListView.Column[ i ].ImageIndex = ITEM_ICON_SORT2) then begin
+                       id := i - 1;
+                       if id < 0 then
+                               id := ListView.Columns.Count - 1;
+                       FSortOrder := id = 0;
+                       ListViewSort( nil, ListView.Column[ id ] );
+                       break;
+               end;
+       end;
+
 end;
 
 initialization