在Win32 API C++項目中,我有一個帶有選項卡控件(3個選項卡)和3個對話框的對話框,這些對話框是選項卡控件的子項。我使用DialogBoxParam加載具有選項卡控件的主對話框,並使用CreateDialogParam從資源加載子對話框。主對話框出現在子對話框中。點擊標籤顯示/隱藏正確的子對話框,一切工作正常。帶有嵌套對話框的選項卡控件中的Tab順序(WS_EX_CONTROLPARENT)
經過搜索周圍的標籤訂單後,我發現WS_EX_CONTROLPARENT
風格設置在選項卡控件上,以獲取選項卡工作到子對話窗口。這很好,除了一個問題:選項卡控件本身永遠不會獲得焦點,所以我無法通過鍵盤選項卡切換到不同的選項卡。鍵盤焦點會通過子對話框,主對話框上的按鈕,然後直接返回到子對話框,並且永遠不會停在選項卡控件本身上,因此我必須單擊選項卡控件才能更改選項卡。這讓我瘋狂。有什麼建議麼?
更新:我設法通過完全忘掉WS_EX_CONTROLPARENT
並使該子對話框中的選項卡控件的兄弟對齊來解決該問題。唯一的副作用似乎是在重新繪製過程中控件的更多閃爍,但仍然需要一個答案,因爲使選項卡的子對話框的子對象看起來更清晰。
適用於我。製作選項卡控件的子對話框的網絡上的樣本太多,MS在文檔中沒有說清楚。我已經啓用了XP選項卡主題,並且它工作正常。 – Jay 2009-12-16 13:25:27