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

請問有事件是在 「任何」Form OnShow 時被觸發的嗎?

答題得分者是:william
azurecloud
中階會員


發表:52
回覆:108
積分:92
註冊:2003-09-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-11 10:26:58 IP:163.13.xxx.xxx 未訂閱
大家好: 我有一個程序是想在程式中每一個 Form OnShow 時 執行的,可是當 程式的 Form 數量一多時,在每個 Form 本身的 OnShow 事件中加上程式 碼總覺得很不經濟,不知道有沒有什麼事件是在任何 Form 的畫面有變動 時,會被觸發的呢? 例如像這樣: Screen.ActiveForm.Onshow(); 可是 要用那一個程序來呼叫它呢? 我想過放在 Mainform.Create ,好像不對 放在 Mainform.Onshow 與 Mainform.Onhide 中,也不對(萬一使用者只 在子 Form 中切換,這兩個事件就不會被觸發了),TApplication 物件 中我也找不到可用的方法,請各位高手幫忙。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-11 10:57:32 IP:202.39.xxx.xxx 未訂閱
TForm.OnActivate?    --- 歡迎光臨 KTop 研究院--<-<-<@
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-11 11:05:42 IP:147.8.xxx.xxx 未訂閱
A possible solution is hooking to API and monitor Windows like those popup killers... However there are some easier way: 1) In the OnShow of your form, send a message to the Application and let it handles it, or 2) Using visual form inheritance, create a base form and creating all your forms by inheriting from it... write codes in the base form...
azurecloud
中階會員


發表:52
回覆:108
積分:92
註冊:2003-09-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-11 17:28:40 IP:163.13.xxx.xxx 未訂閱
感謝兩位版主的回答: 我測試的結果 TForm.OnActivate 也是找不到適當的程序來呼叫它,還是 得一個一個 form 的去寫。 後來用了 william 版主所說的先 create a base form 再繼承它的方法 可以 work 了,非常感謝兩位的幫助。
系統時間:2024-05-20 10:07:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!