如何取得目前輸入焦點停留在那個物件上??? |
|
rich777
一般會員 發表:25 回覆:25 積分:10 註冊:2002-04-22 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 各位先進前輩們.... 我想寫一個MDI的PRG,並在MAIN FORM 並在上面置放一個TDBNavigator元件... 當開啟不同的子視窗時...也會開啟不同的資料庫.... 但想要以在MAIN FORM 的 TDBNavigator元件.. 以控制子視窗所開啟的控制資料庫... 百思不得其解如可才能取得輸入焦點所在的元件??? 希望各先進前輩們解惑.... PS.若能有實列說明更好....謝謝可寫在ChildForm的OnActivate中 將TDBNavigator的設為TDBNavigator.DataSource:=ChildForm_n.datasource1; ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
rich777
一般會員 發表:25 回覆:25 積分:10 註冊:2002-04-22 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
引言: 感謝站長回覆.... 但如果我的子視窗的datasource並不只有一個時??? 該如何處理呢???1. 你可以在所有DB元件之onEnter決定DataSource 例: procedure TForm2.DBGrid1Enter(Sender: TObject); begin mainform.DBNavigator1.datasource:=dbgrid1.DataSource; end; 2. 可以只寫一個OnEnter,將所有DB元件之OnEnter接向此元件 例: procedure TForm2.DBGrid2Enter(Sender: TObject); var ds:Tobject; begin ds:=GetObjectProp(Sender, 'DataSource');//取得DataSource property if ds <> nil then //確認此元件有Datasource property form1.DBNavigator1.datasource:=TDataSource(ds); end; 3. 有些property可取得目前focus Screen.activeform // 目前Active之form mdimainform.activemdichild //mdi Mainform中目前之child form.activecontrol 然而在此並不容易使用, 原因是若要在Navigator之onEnter或BeforeAction或click上處理, 由於Navigator尚未Assign Datasource故被Disable, 所有Event 均無法使用 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |