OSDN Git Service

板名検索機能を実装(Treeポップアップに)
authorh677 <h677>
Fri, 19 Sep 2003 16:02:50 +0000 (16:02 +0000)
committerh677 <h677>
Fri, 19 Sep 2003 16:02:50 +0000 (16:02 +0000)
Giko.dfm
Giko.pas

index 4d569f6..826bf10 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -1,6 +1,6 @@
 object GikoForm: TGikoForm
-  Left = 542
-  Top = 237
+  Left = 654
+  Top = 211
   HorzScrollBar.Visible = False
   VertScrollBar.Visible = False
   AutoScroll = False
@@ -7991,6 +7991,13 @@ object GikoForm: TGikoForm
       Hint = #20491#21029#12354#12412#12540#12435#35299#38500
       OnExecute = N42Click
     end
+    object TreeSelectSearchBoardName: TAction
+      Tag = -1
+      Category = #12484#12522#12540#12509#12483#12503#12450#12483#12503
+      Caption = #26495#21517#26908#32034
+      Hint = #26495#21517#26908#32034
+      OnExecute = TreeSelectSearchBoardNameExecute
+    end
   end
   object MainMenu: TMainMenu
     Images = HotToobarImageList
@@ -8477,7 +8484,7 @@ object GikoForm: TGikoForm
   end
   object BrowserPopupMenu: TPopupMenu
     Left = 68
-    Top = 196
+    Top = 200
     object ShowThreadMenu: TMenuItem
       Action = ShowThreadAction
     end
@@ -8704,6 +8711,12 @@ object GikoForm: TGikoForm
     OnPopup = TreePopupMenuPopup
     Left = 68
     Top = 356
+    object SearchBoardName: TMenuItem
+      Action = TreeSelectSearchBoardName
+    end
+    object N55: TMenuItem
+      Caption = '-'
+    end
     object TreeSelectThreadPupupMenu: TMenuItem
       Action = TreeSelectThreadReload
     end
index be8227a..e955304 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -19,7 +19,7 @@ uses
        Editor, RoundData, RoundName, KeySetting, GikoPanel, Favorite, FavoriteAdd,
        FavoriteArrange, AddressHistory, Preview, HTMLDocumentEvent, Kotehan,
        HintWindow, GikoCoolBar, GikoListView, ToolBarSetting, ToolBarUtil,
-    IndividualAbon;
+    IndividualAbon, Dialogs;
 
 type
        TGikoTreeType = (gttNone, gtt2ch, gttHistory);
@@ -470,6 +470,9 @@ type
     N51: TMenuItem;
     N52: TMenuItem;
     N53: TMenuItem;
+    SearchBoardName: TMenuItem;
+    N55: TMenuItem;
+    TreeSelectSearchBoardName: TAction;
                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
                procedure CabinetPanelHide(Sender: TObject);
@@ -735,6 +738,7 @@ type
     procedure SelectComboBoxEnter(Sender: TObject);
     procedure AntiIndividualAbonClick(Sender: TObject);
     procedure N51Click(Sender: TObject);
+    procedure TreeSelectSearchBoardNameExecute(Sender: TObject);
        private
                { Private \90é\8c¾ }
 
@@ -3969,7 +3973,6 @@ var
        Editor: TEditorForm;
        Item: TThreadItem;
        msg: string;
-    //buf: Integer;
 begin
        Item := GetActiveContent;
        if Item = nil then Exit;
@@ -7204,6 +7207,58 @@ procedure TGikoForm.N51Click(Sender: TObject);
 begin
        N42Click(Sender);
 end;
+//\94Â\96¼\8c\9f\8dõ
+procedure TGikoForm.TreeSelectSearchBoardNameExecute(Sender: TObject);
+var
+    s : String;
+       msg : String;
+       CurItem : TTreeNode;
+    next : boolean;
+    position : Integer;
+begin
+    if InputQuery('\94Â\96¼\8c\9f\8dõ','\94Â\96¼\82Ì\93ü\97Í',s) then begin
+        next := true;
+        while next do begin
+                       if TreeView.Selected = nil then
+                       CurItem := TreeView.Items.GetFirstNode
+                       else begin
+                               CurItem := TreeView.Selected.GetNext;
+                               if CurItem = nil then
+                                       CurItem := TreeView.Items.GetFirstNode;
+                       end;
+                       while CurItem <> nil do begin
+                       if (CurItem.ImageIndex <> 2) and (AnsiPos(s,CurItem.Text) <> 0) then begin
+                               break;
+                       end;
+                       CurItem := CurItem.GetNext;
+                       end;
+            try
+                if CurItem = nil then begin
+                       msg := '\90æ\93ª\82É\96ß\82è\82Ü\82·\82©\81H';
+                               if MsgBox(Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes  then begin
+                                       CurItem := TreeView.Items.GetFirstNode;
+                       end else begin
+                               Exit;
+                       end;
+                    TreeView.Select(CurItem);
+                       TreeView.SetFocus;
+                end else begin
+                       TreeView.Select(CurItem);
+                   TreeView.SetFocus;
+                       msg := '\8e\9f\82É\8ds\82«\82Ü\82·\82©\81H';
+                               if MsgBox(Handle, msg, '', MB_YESNO or MB_ICONEXCLAMATION) = mrYes  then begin
+                                       next := true;
+                       end else begin
+                               next := false;
+                       end;
+                end;
+
+            except
+               Exit;
+            end;
+       end;
+    end;
+end;
 
 initialization
                                OleInitialize(nil);