請問一個SetFocus的問題 |
尚未結案
|
a02a02a02
一般會員 發表:1 回覆:1 積分:0 註冊:2008-02-26 發送簡訊給我 |
請問各位先進:
我有二個form,分別有form1.edit1、form1.button1及form2.edit1、form2.button1。 以及一個function叫f_datachk(),放在一個function.pas中。 想請問的是,我在form1.button1及form2.button1中call f_datachk()時,如何在f_datachk中得知是誰按了 button?然後將cursor停在該form的edit中? 如按了form1的button1,則f_cdatachk()設法讓setfocus停到form1.edit1,如按了form2的button1,則f_cdatachk()設法讓setfocus停到form2.edit1, 這應該是一個觀念的問題,請不杏指教。謝謝。 編輯記錄
a02a02a02 重新編輯於 2008-02-26 22:31:23, 註解 無‧
|
小蚊子
中階會員 發表:55 回覆:267 積分:94 註冊:2002-06-08 發送簡訊給我 |
FORM1 M3
FORM1 與 FORM2 若有呼叫關係, 如何 SHOW 也要考量 若是FORM1 中,呼叫 FORM2.SHOWMODAL ,您是無法去輸入 FORM1 的 EDIT1 = = = ========================================== 您告知 函數,誰呼叫它即可, f_datachk() 帶入 參數 例 : button1.............f_datachk(1) , FORM1 呼叫 button2.............f_datachk(2) , FORM2 呼叫 ===================引 用 a02a02a02 文 章=================== 請問各位先進: 我有二個form,分別有form1.edit1、form1.button1及form2.edit1、form2.button1。 以及一個function叫f_datachk(),放在一個function.pas中。 想請問的是,我在form1.button1及form2.button1中call f_datachk()時,如何在f_datachk中得知是誰按了 button?然後將cursor停在該form的edit中? 如按了form1的button1,則f_cdatachk()設法讓setfocus停到form1.edit1,如按了form2的button1,則f_cdatachk()設法讓setfocus停到form2.edit1, 這應該是一個觀念的問題,請不杏指教。謝謝。 |
shinhrn
中階會員 發表:54 回覆:165 積分:83 註冊:2002-06-05 發送簡訊給我 |
procedure f_datachk(Sender: TObject);
begin showmessage((Sender as Tbutton).Name); end; 兩個button取不同名字.就知道誰呼叫了 其實也可以直接得到form name的可是我不大會用.哈哈. ===================引 用 a02a02a02 文 章=================== 請問各位先進: 我有二個form,分別有form1.edit1、form1.button1及form2.edit1、form2.button1。 以及一個function叫f_datachk(),放在一個function.pas中。 想請問的是,我在form1.button1及form2.button1中call f_datachk()時,如何在f_datachk中得知是誰按了 button?然後將cursor停在該form的edit中? 如按了form1的button1,則f_cdatachk()設法讓setfocus停到form1.edit1,如按了form2的button1,則f_cdatachk()設法讓setfocus停到form2.edit1, 這應該是一個觀念的問題,請不杏指教。謝謝。 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
yubad2000
中階會員 發表:0 回覆:44 積分:78 註冊:2007-09-30 發送簡訊給我 |
The basic concept is to pass the "Object" as an arg into your function.
So, your function should look like f_datachk(TEdit edbox). At form1.button1 OnClick => call f_datachk(form1.edit1) At form2.button1 OnClick => call f_datachk(form2.edit1) In f_datachk(TEdit edbox) => call edbox.setfocus ===================引 用 a02a02a02 文 章=================== 請問各位先進: 我有二個form,分別有form1.edit1、form1.button1及form2.edit1、form2.button1。 以及一個function叫f_datachk(),放在一個function.pas中。 想請問的是,我在form1.button1及form2.button1中call f_datachk()時,如何在f_datachk中得知是誰按了 button?然後將cursor停在該form的edit中? 如按了form1的button1,則f_cdatachk()設法讓setfocus停到form1.edit1,如按了form2的button1,則f_cdatachk()設法讓setfocus停到form2.edit1, 這應該是一個觀念的問題,請不杏指教。謝謝。
------
===波士頓夜未眠=== What a wonderful world!! Jazz up the world with jazz!! ================== When I am not programming... you can find me here: http://www.holy-war.de/EN/World3/bin/?advertiser=63190 |
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
a02a02a02
一般會員 發表:1 回覆:1 積分:0 註冊:2008-02-26 發送簡訊給我 |
謝謝各位先進的指教,pillar62兄的方法的確可行....
我的程式是有多支功能相近的程式及表單,(其Tedit的名稱都一致)...需要共用同一種資料檢查的公用程式...因為不想重覆的檢查程式在每個單元中出現。所以才想要寫一支共用的檢查程式做該畫面Tedit的檢查...然後依不一樣的檢查條件依序檢查...如果發現某個form的某個edit有誤,則停到該edit要求重新輸入... 請問有更容易的方式嗎?正努力測試中...謝謝大家的指點..
編輯記錄
a02a02a02 重新編輯於 2008-02-27 20:52:23, 註解 無‧
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
「功能相近的程式及表單,(其Tedit的名稱都一致)」
請使用 Form 的繼承機制 不然,你有 100 個 form ,其中有一個元件要改名,你要改 100 次嗎? 如果你是這樣做,哪我可要給你鼓掌了,你勇氣可嘉喔! ===================引 用 a02a02a02 文 章=================== 謝謝各位先進的指教,pillar62兄的方法的確可行.... 我的程式是有多支功能相近的程式及表單,(其Tedit的名稱都一致)...需要共用同一種資料檢查的公用程式...因為不想重覆的檢查程式在每個單元中出現。所以才想要寫一支共用的檢查程式做該畫面Tedit的檢查...然後依不一樣的檢查條件依序檢查...如果發現某個form的某個edit有誤,則停到該edit要求重新輸入... 請問有更容易的方式嗎?正努力測試中...謝謝大家的指點.. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |