全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1860
推到 Plurk!
推到 Facebook!

TrayIcon程式,透過popupMenu關閉程式,卻沒關閉?

尚未結案
look4help
一般會員


發表:9
回覆:8
積分:3
註冊:2005-07-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-21 16:13:50 IP:218.164.xxx.xxx 未訂閱
各位好,我目前寫了一支TaryIcon程式,並且有提供滑鼠右鍵功能,按右鍵之後,會出現一個popup Menu,Menu上有一個「離開」功能。 我在此MenuItem的Click事件中,寫: TForm1.Close; 並且把工作列上的trayIcon也刪除掉了,不過我打開工作管理員,卻還是看得到我的執行檔正在執行中,並未如預期被關閉。 請問我該如何做呢? 我的作業系統是Window 2000 pro,謝謝。
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-21 19:31:24 IP:211.22.xxx.xxx 未訂閱
你TrayIcon的TForm1是主FORM嗎?如果不是,那只是關閉子視窗而已~ 如果要直接強制關掉整個程式呼叫: Application.Terminate; ---------------------------------------------- We will either find a way, or make one. -Hannibal -。
look4help
一般會員


發表:9
回覆:8
積分:3
註冊:2005-07-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-22 10:14:32 IP:218.164.xxx.xxx 未訂閱
引言: 你TrayIcon的TForm1是主FORM嗎?如果不是,那只是關閉子視窗而已~ 如果要直接強制關掉整個程式呼叫: Application.Terminate;
經你這麼提醒我才發現,原來我關閉的不是主Form.... 我原意是想在程式一開啟的時候,先帶出一個LOGO Form,等Logo出現三秒之後,再帶出主Form(TForm1),但因為我是使用TrayIcon的方式,將程式縮小在TaskBar上,所以我放了一個PopupMenu,點選PopupMenu上的Exit,關閉掉主Form(TForm1)。 為了要產生那個LOGO Form,我在我的dpr檔中寫: Application.Initialize; Application.ShowMainForm := False; Try Application.CreateForm(TfLogoForm, fLogoForm); fLogoForm.ShowModal; finally fLogoForm.Release; end; Application.CreateForm(TForm1, Form1); ShowWindow(Application.Handle, SW_HIDE); Application.Run; 但我發現這樣寫,Delphi會將TfLogoForm視為主Form,這樣就跟我原本要的功能不同,請問我該怎麼修正才對? 我想讓TFom1是主Form。 LogoForm在出現三秒之後,關閉釋放掉。
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-23 19:50:52 IP:211.22.xxx.xxx 未訂閱
 Application.Initialize; 
 YourLogoForm:= TYourLogoFrom.Create(Application); //動態產生LOGO FORM
 YourLogoForm.ShowModal; //裏面設定TIMER,三秒鐘後CLOSE視窗
 YourLogoForm.Free;     Application.CreateForm(TMyMainForm, MyMainForm); //主視窗
 ......
 Application.Run;
---------------------------------------------- We will either find a way, or make one. -Hannibal -。
look4help
一般會員


發表:9
回覆:8
積分:3
註冊:2005-07-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-24 18:23:43 IP:218.164.xxx.xxx 未訂閱
引言:
 Application.Initialize; 
 YourLogoForm:= TYourLogoFrom.Create(Application); //動態產生LOGO FORM
 YourLogoForm.ShowModal; //裏面設定TIMER,三秒鐘後CLOSE視窗
 YourLogoForm.Free;     Application.CreateForm(TMyMainForm, MyMainForm); //主視窗
 ......
 Application.Run;
謝謝,我試試看囉。 ---------------------------------------------- We will either find a way, or make one. -Hannibal -。
系統時間:2024-05-06 2:02:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!