From b6b10953fdb2445f5ae921980fd8ef974afc4491 Mon Sep 17 00:00:00 2001 From: h677 Date: Sun, 6 Aug 2006 13:20:45 +0000 Subject: [PATCH] =?utf8?q?=E6=9C=80=E5=B0=8F=E5=8C=96=E6=99=82=E3=81=AB?= =?utf8?q?=E3=82=BF=E3=82=B9=E3=82=AF=E3=83=88=E3=83=AC=E3=82=A4=E3=81=AB?= =?utf8?q?=E6=A0=BC=E7=B4=8D=E3=81=99=E3=82=8B=E6=A9=9F=E8=83=BD=EF=BC=86?= =?utf8?q?=E3=82=AA=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Giko.pas | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- Option.dfm | 24 ++++++++++++++++++++---- 2 files changed, 73 insertions(+), 7 deletions(-) diff --git a/Giko.pas b/Giko.pas index e244c08..54d4671 100644 --- a/Giko.pas +++ b/Giko.pas @@ -18,7 +18,8 @@ uses Editor, RoundData, GikoPanel, Favorite, HTMLDocumentEvent, HintWindow, GikoCoolBar, GikoListView, Search, ExternalBoardManager, ExternalBoardPlugInMain, StdActns, Variants, ExtActns,IdTCPConnection, - IdBaseComponent, IdTCPClient, AppEvnts, BrowserRecord, MoveHistoryItem; + IdBaseComponent, IdTCPClient, AppEvnts, BrowserRecord, MoveHistoryItem, + ShellAPI; const NGWORDNAME_PANEL = 3; @@ -666,6 +667,10 @@ type procedure RefreshListView(Thread: TThreadItem); //! ƒXƒŒƒbƒhˆê——‚Ì•\Ž¦”͈͐ݒèƒ`ƒFƒbƒNƒNƒŠƒA procedure ClearThreadRengeAction; + //! ƒ^ƒXƒNƒgƒŒƒC‚ɃAƒCƒRƒ““o˜^•ƒtƒH[ƒ€‰B‚µ + procedure StoredTaskTray; + //! ƒ^ƒXƒNƒgƒŒƒC‚̃AƒCƒRƒ“íœ•ƒtƒH[ƒ€•\Ž¦ + procedure UnStoredTaskTray; protected procedure CreateParams(var Params: TCreateParams); override; procedure WndProc(var Message: TMessage); override; @@ -678,6 +683,7 @@ type LastRoundTime: TDateTime; BrowserNullTab: TBrowserRecord; FControlThread: TThreadControl; + FIconData : TNotifyIconData; procedure MoveToURL(const inURL: string); function InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True) : TBrowserRecord; procedure ReloadBBS; @@ -789,6 +795,9 @@ type //! ƒc[ƒ‹ƒo[‚ɃXƒŒiž‚݃Rƒ“ƒ{ƒ{ƒbƒNƒX‚ðÝ’è‚·‚é procedure SetSelectComboBox(); + //! ƒ^ƒXƒNƒgƒŒƒC‚ÉŠi”[‚µ‚½ƒAƒCƒRƒ“‚ðƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚̏ˆ— + procedure TaskTrayIconMessage(var Msg : TMsg); message WM_USER + 2010; + published property EnabledCloseButton: Boolean read FEnabledCloseButton write SetEnabledCloseButton; end; @@ -821,7 +830,7 @@ implementation uses GikoUtil, IndividualAbon, Math, Kotehan, KeySetting, - YofUtils, ShellAPI, ToolBarUtil, ToolBarSetting, + YofUtils, ToolBarUtil, ToolBarSetting, GikoXMLDoc, RoundName, IniFiles, FavoriteAdd, FavoriteArrange, AddressHistory, Preview, Gesture, About, Option, Round, Splash, Sort, ListSelect, Imm, @@ -844,6 +853,7 @@ const USER_MINIMIZED = WM_USER + 2002; USER_SETLINKBAR = WM_USER + 2003; USER_DOCUMENTCOMPLETE = WM_USER + 2004; ///< wParam : TWebBrowser + USER_TASKTRAY = WM_USER + 2010; {$R *.DFM} procedure TGikoForm.CreateParams(var Params: TCreateParams); @@ -4836,7 +4846,13 @@ begin USER_RESIZED: OnResized; USER_MINIMIZED: - OnMinimized; + begin + if (GikoSys.Setting.StoredTaskTray) then begin + // ƒ^ƒXƒNƒgƒŒƒC‚ɃAƒCƒRƒ“‚ð’ljÁ‚·‚é + StoredTaskTray; + end; + OnMinimized; + end; USER_SETLINKBAR: SetLinkBar; USER_DOCUMENTCOMPLETE: @@ -7702,6 +7718,40 @@ begin end; end; +procedure TGikoForm.TaskTrayIconMessage(var Msg: TMsg); +begin + // ¶ƒNƒŠƒbƒN‚È‚ç•œŒ³‚·‚é + if (Msg.wParam = WM_LBUTTONDOWN) then begin + UnStoredTaskTray; + end; +end; +//! ƒ^ƒXƒNƒgƒŒƒC‚ɃAƒCƒRƒ““o˜^•ƒtƒH[ƒ€‰B‚µ +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; {ƒAƒCƒRƒ“Žw’è} + FIconData.szTip := 'ƒMƒRƒiƒr'; {ƒqƒ“ƒg•¶Žš—ñ} + Shell_NotifyIcon(NIM_ADD, @FIconData); + ShowWindow(Self.Handle, SW_HIDE); + except + end; +end; +//! ƒ^ƒXƒNƒgƒŒƒC‚̃AƒCƒRƒ“íœ•ƒtƒH[ƒ€•\Ž¦ +procedure TGikoForm.UnStoredTaskTray; +begin + try + Shell_NotifyIcon(NIM_DELETE, @FIconData); + SetForegroundWindow(Application.Handle); + ShowWindow(Self.Handle, SW_RESTORE); + except + end; +end; + initialization OleInitialize(nil); finalization diff --git a/Option.dfm b/Option.dfm index 57727b2..712f6f3 100644 --- a/Option.dfm +++ b/Option.dfm @@ -61,9 +61,9 @@ object OptionDialog: TOptionDialog Top = 4 Width = 509 Height = 389 - ActivePage = TabSheet3 + ActivePage = TabSheet4 MultiLine = True - TabIndex = 3 + TabIndex = 7 TabOrder = 3 OnChange = OptionTabChange object ConnectSheet: TTabSheet @@ -1207,9 +1207,9 @@ object OptionDialog: TOptionDialog end end object GroupBox19: TGroupBox - Left = 11 + Left = 12 Top = 74 - Width = 465 + Width = 473 Height = 49 Caption = #23653#27508 TabOrder = 1 @@ -1238,6 +1238,22 @@ object OptionDialog: TOptionDialog OnExit = MaxRecordCountEditExit end end + object GroupBox21: TGroupBox + Left = 11 + Top = 133 + Width = 473 + Height = 52 + Caption = #26368#23567#21270#26178#12479#12473#12463#12488#12524#12452 + TabOrder = 2 + object StoredTaskTrayCB: TCheckBox + Left = 11 + Top = 24 + Width = 118 + Height = 17 + Caption = #26377#21177#12395#12377#12427 + TabOrder = 0 + end + end end object SoundSheet: TTabSheet Caption = #12469#12454#12531#12489 -- 2.11.0