2011-05-04 80 views
1

我有一個對話框(CDialog)與其中的所有者繪製的CTabCtrl。選項卡內容是子對話框(每個選項卡一個)。每個選項卡中都有一個CEdit。當用戶點擊一個標籤時,我隱藏了所有使用ShowWindow(SW_HIDE)的子對話框並顯示選中的對話框。如何將焦點設置爲在TabCtrl中的子對話框中的CEdit?

問題是,當我有,例如,兩個選項卡,單擊第一個選項卡中的編輯框內,然後切換到第二,輸入焦點停留在第一個選項卡(不可見)編輯框中我在我的代碼中(嘗試調用所有可能可以設置焦點的方法,沒有任何更改)。

回答

0

試試這個:

GetDlgItem(IDC_YOURCONTROL)->SetFocus(); 

或者與控制鏈接的相關變量:

m_YOURCONTROLControl.SetFocus(); 
+1

已經嘗試過,什麼都沒有改變。 – Grishka 2011-05-05 09:26:59

+0

在設置焦點之前控件是否可見?另一個選項是設置選項卡(它必須有明確的ID)itsef,然後控制。 – Sunscreen 2011-05-05 10:20:22

相關問題