1

所有者が描画した CTabCtrl を含むダイアログ ボックス (CDialog) があります。タブの内容は子ダイアログです (タブごとに 1 つ)。各タブに CEdit があります。ユーザーがタブをクリックすると、ShowWindow(SW_HIDE) を使用してすべての子ダイアログを非表示にし、選択したダイアログを表示します。

問題は、たとえば 2 つのタブがあり、最初のタブの編集ボックス内をクリックしてから 2 番目のタブに切り替えると、入力フォーカスが最初のタブの (見えない) 編集ボックスにとどまることです。コード(フォーカスを設定できる可能性のあるすべてのメソッドを呼び出してみましたが、何も変わりませんでした)。

4

1 に答える 1

0

これを試して:

GetDlgItem(IDC_YOURCONTROL)->SetFocus();

または、コントロールにリンクされた関連変数:

m_YOURCONTROLControl.SetFocus();
于 2011-05-05T07:03:26.850 に答える