OSDN Git Service

タスクトレイに格納するメニュー&アクション追加
authorh677 <h677>
Sun, 6 Aug 2006 14:32:41 +0000 (14:32 +0000)
committerh677 <h677>
Sun, 6 Aug 2006 14:32:41 +0000 (14:32 +0000)
Giko.dfm
Giko.pas
GikoDataModule.dfm
GikoDataModule.pas

index fdedcd6..97ad9f2 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -4520,6 +4520,12 @@ object GikoForm: TGikoForm
       object N61: TMenuItem
         Caption = '-'
       end
+      object N77: TMenuItem
+        Action = GikoDM.StoredTaskTrayAction
+      end
+      object N78: TMenuItem
+        Caption = '-'
+      end
       object ExitMenu: TMenuItem
         Action = GikoDM.ExitAction
       end
index 54d4671..c704a75 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -410,6 +410,8 @@ type
     DAT3: TMenuItem;
     N76: TMenuItem;
     FavoriteTreeItemNameCopyPopupMenu: TMenuItem;
+    N77: TMenuItem;
+    N78: TMenuItem;
                                procedure FormCreate(Sender: TObject);
                procedure FormDestroy(Sender: TObject);
                procedure BrowserStatusTextChange(Sender: TObject;
@@ -667,8 +669,6 @@ type
                procedure RefreshListView(Thread: TThreadItem);
                //! \83X\83\8c\83b\83h\88ê\97\97\82Ì\95\\8e¦\94Í\88Í\90Ý\92è\83`\83F\83b\83N\83N\83\8a\83A
                procedure ClearThreadRengeAction;
-        //! \83^\83X\83N\83g\83\8c\83C\82É\83A\83C\83R\83\93\93o\98^\81\95\83t\83H\81[\83\80\89B\82µ
-        procedure StoredTaskTray;
         //! \83^\83X\83N\83g\83\8c\83C\82Ì\83A\83C\83R\83\93\8dí\8f\9c\81\95\83t\83H\81[\83\80\95\\8e¦
         procedure UnStoredTaskTray;
        protected
@@ -797,6 +797,8 @@ type
 
         //! \83^\83X\83N\83g\83\8c\83C\82É\8ai\94[\82µ\82½\83A\83C\83R\83\93\82ð\83N\83\8a\83b\83N\82µ\82½\82Æ\82«\82Ì\8f\88\97\9d
         procedure TaskTrayIconMessage(var Msg : TMsg); message WM_USER + 2010;
+        //! \83^\83X\83N\83g\83\8c\83C\82É\83A\83C\83R\83\93\93o\98^\81\95\83t\83H\81[\83\80\89B\82µ
+        procedure StoredTaskTray;
 
        published
                property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton;
@@ -900,7 +902,8 @@ begin
        GetGroupIndex(GikoDM.GikoFormActionList);
        FSearchDialog := nil;
        CreateBrowsers(BROWSER_COUNT);
-
+    FIconData.uID := 0;
+    
        //\83\81\83j\83\85\81[\83t\83H\83\93\83g
        SetMenuFont;
 
@@ -7721,7 +7724,7 @@ end;
 procedure TGikoForm.TaskTrayIconMessage(var Msg: TMsg);
 begin
     //  \8d\83N\83\8a\83b\83N\82È\82ç\95\9c\8c³\82·\82é
-    if  (Msg.wParam = WM_LBUTTONDOWN) then  begin
+    if  (Msg.wParam = WM_LBUTTONUP) then  begin
         UnStoredTaskTray;
     end;
 end;
@@ -7729,15 +7732,17 @@ end;
 procedure TGikoForm.StoredTaskTray;
 begin
     try
-        FIconData.cbSize  :=  SizeOf(TNotifyIconData);
-        FIconData.uID     :=  1;
-        FIconData.Wnd     :=  Handle;
-        FIconData.uFlags  :=  NIF_MESSAGE or NIF_ICON or NIF_TIP;
-        FIconData.uCallbackMessage  :=  USER_TASKTRAY;
-        FIconData.hIcon   :=  Application.Icon.Handle;  {\83A\83C\83R\83\93\8ew\92è}
-        FIconData.szTip   :=  '\83M\83R\83i\83r';      {\83q\83\93\83g\95\8e\9a\97ñ}
-        Shell_NotifyIcon(NIM_ADD, @FIconData);
-        ShowWindow(Self.Handle, SW_HIDE);
+        if (FIconData.uID = 0) then begin
+            FIconData.cbSize  :=  SizeOf(TNotifyIconData);
+            FIconData.uID     :=  Self.Handle;
+            FIconData.Wnd     :=  Handle;
+            FIconData.uFlags  :=  NIF_MESSAGE or NIF_ICON or NIF_TIP;
+            FIconData.uCallbackMessage  :=  USER_TASKTRAY;
+            FIconData.hIcon   :=  Application.Icon.Handle;  {\83A\83C\83R\83\93\8ew\92è}
+            FIconData.szTip   :=  '\83M\83R\83i\83r';      {\83q\83\93\83g\95\8e\9a\97ñ}
+            Shell_NotifyIcon(NIM_ADD, @FIconData);
+            ShowWindow(Self.Handle, SW_HIDE);
+        end;
     except
     end;
 end;
@@ -7745,10 +7750,20 @@ end;
 procedure TGikoForm.UnStoredTaskTray;
 begin
     try
-        Shell_NotifyIcon(NIM_DELETE, @FIconData);
-        SetForegroundWindow(Application.Handle);
-        ShowWindow(Self.Handle, SW_RESTORE);
-    except
+        try
+            Shell_NotifyIcon(NIM_DELETE, @FIconData);
+            SetForegroundWindow(Application.Handle);
+        except
+        end;
+    finally
+        FIconData.uID := 0;
+        // Action\82©\82ç\8ai\94[\82µ\82½\82Æ\82«\82ÍTag\82Ì\92l\82Í0\88È\8aO
+        if (GikoDM.StoredTaskTrayAction.Tag = 0) then begin
+            ShowWindow(Self.Handle, SW_RESTORE);
+        end else begin
+            ShowWindow(Self.Handle, SW_SHOW);
+        end;
+        GikoDM.StoredTaskTrayAction.Tag := 0;
     end;
 end;
 
index 2033dcf..81ea92a 100644 (file)
@@ -1279,6 +1279,12 @@ object GikoDM: TGikoDM
       Hint = #24038#30690#21360#12461#12540#25276#19979
       OnExecute = VKLeftActionExecute
     end
+    object StoredTaskTrayAction: TAction
+      Category = #25805#20316
+      Caption = #12479#12473#12463#12488#12524#12452#12395#26684#32013#12377#12427
+      Hint = #12479#12473#12463#12488#12524#12452#12395#26684#32013#12377#12427
+      OnExecute = StoredTaskTrayActionExecute
+    end
   end
   object ToobarImageList: TImageList
     Left = 44
index 0f36bf7..ffa78de 100644 (file)
@@ -226,6 +226,7 @@ type
     VKUpAction: TAction;
     VKRightAction: TAction;
     VKLeftAction: TAction;
+    StoredTaskTrayAction: TAction;
        procedure EditNGActionExecute(Sender: TObject);
        procedure ReloadActionExecute(Sender: TObject);
        procedure GoFowardActionExecute(Sender: TObject);
@@ -422,6 +423,7 @@ type
     procedure VKUpActionExecute(Sender: TObject);
     procedure VKRightActionExecute(Sender: TObject);
     procedure VKLeftActionExecute(Sender: TObject);
+    procedure StoredTaskTrayActionExecute(Sender: TObject);
   private
        { Private \90é\8c¾ }
        procedure ClearResFilter;
@@ -4168,6 +4170,12 @@ begin
     keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
     keybd_event(VK_LEFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
 end;
+//! \83^\83X\83N\83g\83\8c\83C\82É\8ai\94[\82·\82é
+procedure TGikoDM.StoredTaskTrayActionExecute(Sender: TObject);
+begin
+    GikoForm.StoredTaskTray;
+    StoredTaskTrayAction.Tag := -1;
+end;
 
 end.