OSDN Git Service

お気に入りでドラッグでクリックイベントが発生しないように修正
authorh677 <h677>
Thu, 22 Dec 2005 15:41:45 +0000 (15:41 +0000)
committerh677 <h677>
Thu, 22 Dec 2005 15:41:45 +0000 (15:41 +0000)
Giko.dfm
Giko.pas

index c81cb71..941b88c 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -231,18 +231,17 @@ object GikoForm: TGikoForm
           RightClickSelect = True
           ShowRoot = False
           TabOrder = 3
-          OnClick = FavoriteTreeViewClick
-          OnCollapsing = FavoriteTreeViewCollapsing
           OnDblClick = FavoriteTreeViewDblClick
           OnDragDrop = FavoriteTreeViewDragDrop
           OnDragOver = FavoriteTreeViewDragOver
           OnEdited = FavoriteTreeViewEdited
           OnEditing = FavoriteTreeViewEditing
           OnEndDrag = FavoriteTreeViewEndDrag
-          OnExpanding = FavoriteTreeViewExpanding
+          OnExit = FavoriteTreeViewExit
           OnKeyDown = FavoriteTreeViewKeyDown
           OnMouseDown = FavoriteTreeViewMouseDown
-          OnMouseUp = FavoriteTreeViewMouseUp
+          OnMouseMove = FavoriteTreeViewMouseMove
+          OnStartDrag = FavoriteTreeViewStartDrag
         end
         object FavoriteToolBar: TToolBar
           Left = 0
index ce4b024..a48c789 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -521,8 +521,6 @@ type
                        Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
     procedure MessagePanelResize(Sender: TObject);
                procedure OnResized;
-    procedure FavoriteTreeViewMouseUp(Sender: TObject;
-         Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
        procedure SelectTimerTimer(Sender: TObject);
                procedure ListViewColumnRightClick(Sender: TObject;
       Column: TListColumn; Point: TPoint);
@@ -544,17 +542,17 @@ type
          var Handled: Boolean);
     procedure GikoApplicationEventsDeactivate(Sender: TObject);
     procedure GikoApplicationEventsException(Sender: TObject; E: Exception);
-    procedure FavoriteTreeViewClick(Sender: TObject);
-    procedure FavoriteTreeViewCollapsing(Sender: TObject; Node: TTreeNode;
-      var AllowCollapse: Boolean);
-    procedure FavoriteTreeViewExpanding(Sender: TObject; Node: TTreeNode;
-      var AllowExpansion: Boolean);
-    procedure TreeViewCollapsing(Sender: TObject; Node: TTreeNode;
+       procedure TreeViewCollapsing(Sender: TObject; Node: TTreeNode;
       var AllowCollapse: Boolean);
     procedure TreeViewExpanding(Sender: TObject; Node: TTreeNode;
       var AllowExpansion: Boolean);
     procedure TreeViewMouseUp(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
+    procedure FavoriteTreeViewStartDrag(Sender: TObject;
+      var DragObject: TDragObject);
+    procedure FavoriteTreeViewMouseMove(Sender: TObject;
+      Shift: TShiftState; X, Y: Integer);
+    procedure FavoriteTreeViewExit(Sender: TObject);
        private
                { Private \90é\8c¾ }
                FEnabledCloseButton: Boolean;
@@ -1214,6 +1212,7 @@ begin
        FavoriteAddToolButton.Caption := '\92Ç\89Á...';
        AntiIndivAbonMenuItem.Caption := '\8cÂ\95Ê\82 \82Ú\81`\82ñ\89ð\8f\9c';
 
+
 end;
 
 // CoolBar \82Ì\90Ý\92è\82ð\95Ï\90\94\82É\95Û\91
@@ -2235,7 +2234,7 @@ var
 begin
        pos := FMouseDownPos;
        if (FClickNode <> nil) and (FClickNode = TreeView.GetNodeAt(pos.X, pos.Y)) then begin
-               //\83}\83E\83X\82ªnode\82Ì\8fã\82É\82¢\82é\82©
+               //\83}\83E\83X\82ªnode\82Ì\8fã\82É\82¢\82é\82©
                rect := FClickNode.DisplayRect(true);
                if ((rect.Left <= pos.X) and (rect.Right >= pos.X)) and
                        ((rect.Bottom >= pos.Y) and (rect.Top <= pos.Y)) then begin
@@ -6252,7 +6251,6 @@ var
        pos : TPoint;
        rect: TRect;
 begin
-       //\83N\83\8a\83b\83N\8e\9e\82Ì\91I\91ð\83C\83x\83\93\83g\82Æ\93¯\82\82È\82ç\83_\83u\83\8b\83N\83\8a\83b\83N\8eÀ\8ds
        pos := FMouseDownPos;
        if (FClickNode <> nil) and (FClickNode = FavoriteTreeView.GetNodeAt(pos.X, pos.Y)) then begin
                //\83}\83E\83X\82ªnode\82Ì\8fã\82É\82¢\82é\82©
@@ -6714,21 +6712,21 @@ begin
                TreeView.Selected.Expanded := not TreeView.Selected.Expanded;
        end;
 end;
-
+//! \82¨\8bC\82É\93ü\82è\82ÌMouseDown\83C\83x\83\93\83g
 procedure TGikoForm.FavoriteTreeViewMouseDown(Sender: TObject;
        Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
 var
        favItem                         : TTreeNode;
        favThreadItem   : TFavoriteThreadItem;
 begin
-
        case Button of
-{      mbLeft:
+       mbLeft:
                begin
-                       FMouseDownPos.X := X;
-                       FMouseDownPos.Y := Y;
+                       //\8c»\8dÝ\91I\91ð\82³\82ê\82Ä\82¢\82é\83A\83C\83e\83\80\82ð\95Û\91
+                       FClickNode := FavoriteTreeView.Selected;
+                       FMouseDownPos := FavoriteTreeView.ScreenToClient(Mouse.CursorPos);
                end;
-}      mbMiddle:
+       mbMiddle:
                begin
                        favItem := FavoriteTreeView.GetNodeAt( X, Y );
                        if favItem = nil then Exit;
@@ -6788,16 +6786,6 @@ end;
 // *************************************************************************
 //! \82¨\8bC\82É\93ü\82è\83c\83\8a\81[\82Ì\83}\83E\83X\83A\83b\83v\83C\83x\83\93\83g
 // *************************************************************************
-procedure TGikoForm.FavoriteTreeViewMouseUp(Sender: TObject;
-  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
-begin
-       if (Button = mbLeft) and not (ssDouble  in Shift) then begin
-               if (FClickNode <> nil) and (FClickNode = FavoriteTreeView.GetNodeAt(X, Y)) then begin
-                       FavoriteClick( TObject( FClickNode ) );
-               end;
-       end;
-end;
-
 function TGikoForm.WebBrowserClick(Sender: TObject): WordBool;
 var
        p : TPoint;
@@ -7673,33 +7661,6 @@ begin
        end;
 end;
 // *************************************************************************
-//! \82¨\8bC\82É\93ü\82è\83c\83\8a\81[\82Ì\83N\83\8a\83b\83N\83C\83x\83\93\83g
-// *************************************************************************
-procedure TGikoForm.FavoriteTreeViewClick(Sender: TObject);
-begin
-       //\8c»\8dÝ\91I\91ð\82³\82ê\82Ä\82¢\82é\83A\83C\83e\83\80\82ð\95Û\91
-       FClickNode := FavoriteTreeView.Selected;
-       FMouseDownPos := FavoriteTreeView.ScreenToClient(Mouse.CursorPos);
-end;
-// *************************************************************************
-//! \82¨\8bC\82É\93ü\82è\83c\83\8a\81[\82Ì\83A\83C\83e\83\80\82Ì\8fk\8f¬\8e\9e\83C\83x\83\93\83g
-// *************************************************************************
-procedure TGikoForm.FavoriteTreeViewCollapsing(Sender: TObject;
-  Node: TTreeNode; var AllowCollapse: Boolean);
-begin
-       //\8fk\8f¬\82³\82ê\82½\82ç\95Û\91\82³\82ê\82Ä\82¢\82é\83N\83\8a\83b\83N\8e\9e\91I\91ð\83A\83C\83e\83\80\82ð\83N\83\8a\83A
-       FClickNode := Node;
-end;
-// *************************************************************************
-//! \82¨\8bC\82É\93ü\82è\83c\83\8a\81[\82Ì\83A\83C\83e\83\80\82Ì\93W\8aJ\8e\9e\83C\83x\83\93\83g
-// *************************************************************************
-procedure TGikoForm.FavoriteTreeViewExpanding(Sender: TObject;
-  Node: TTreeNode; var AllowExpansion: Boolean);
-begin
-       //\93W\8aJ\82³\82ê\82½\82ç\95Û\91\82³\82ê\82Ä\82¢\82é\83N\83\8a\83b\83N\8e\9e\91I\91ð\83A\83C\83e\83\80\82ð\83N\83\8a\83A
-       FClickNode := Node;
-end;
-// *************************************************************************
 //! \83c\83\8a\81[\83r\83\85\81[\82Ì\83A\83C\83e\83\80\82Ì\8fk\8f¬\8e\9e\83C\83x\83\93\83g
 // *************************************************************************
 procedure TGikoForm.TreeViewCollapsing(Sender: TObject; Node: TTreeNode;
@@ -7835,6 +7796,42 @@ begin
        except
        end;
 end;
+//! \83h\83\89\83b\83O\83X\83^\81[\83g\83C\83x\83\93\83g
+procedure TGikoForm.FavoriteTreeViewStartDrag(Sender: TObject;
+  var DragObject: TDragObject);
+begin
+       FClickNode := nil;
+end;
+//MouseMove\82Å\83N\83\8a\83b\83N\83C\83x\83\93\83g\82ð\8bN\82±\82·\82Æ\82¢\82¤\8bC\8e\9d\88«\82¢\8eÀ\91\95...
+procedure TGikoForm.FavoriteTreeViewMouseMove(Sender: TObject;
+  Shift: TShiftState; X, Y: Integer);
+var
+       pos : TPoint;
+       rect: TRect;
+begin
+       if (FClickNode <> nil) then begin
+               //\83N\83\8a\83b\83N\8e\9e\82Ì\91I\91ð\83C\83x\83\93\83g\82Æ\93¯\82\82È\82ç\83_\83u\83\8b\83N\83\8a\83b\83N\8eÀ\8ds
+               pos := FMouseDownPos;
+               if (FClickNode = FavoriteTreeView.GetNodeAt(pos.X, pos.Y)) then begin
+                       //\83}\83E\83X\82ªnode\82Ì\8fã\82É\82¢\82é\82©
+                       rect := FClickNode.DisplayRect(true);
+                       if ((rect.Left <= pos.X) and (rect.Right >= pos.X)) and
+                               ((rect.Bottom >= pos.Y) and (rect.Top <= pos.Y)) then begin
+                               FavoriteClick( TObject( FClickNode ) );
+                               //DBClick\82ª\91±\82­\82©\82à\82µ\82ê\82È\82¢\82Ì\82ÅFClickNod\82Í\83N\83\8a\83A\82µ\82È\82¢
+                       end else begin
+                               FClickNode := nil;
+                       end;
+               end else begin
+                       FClickNode := nil;
+               end;
+       end;
+end;
+//! \83N\83\8a\83b\83N\82µ\82½\83A\83C\83e\83\80\82ª\8ec\82Á\82Ä\82¢\82é\82Ì\82ð\8fÁ\82·
+procedure TGikoForm.FavoriteTreeViewExit(Sender: TObject);
+begin
+       FClickNode := nil;
+end;
 
 initialization
                                OleInitialize(nil);