對話框:設定對話框控件的Tab順序
前面幾節為大家示範了加法電腦程式完整的編寫過程,本節主要講對話框上控件的Tab順序如何調整。
上一講為“計算”按鈕添加了消息處理函數後,加法電腦已經能夠進行浮點數的加法運算。但是還有個遺留的小問題,就是對話框控件的Tab順序問題。
運作加法電腦程式,顯示對話框後不進行任何操作,直接按回車,可以看到對話框退出了。這是因為“退出”按鈕是Tab順序為1的控件,也就是第一個接受使用者輸入的控件。但是按照我們的輸入習慣,應該是被加數的編輯框首先接受使用者輸入,然後是加數編輯框,再接下來是“計算”按鈕,最後才是“退出”按鈕。
我們先來直覺的看看各個控件的Tab順序吧。打開“Resource View(資源視圖)”視圖,然後在資源中找到對話框IDD_ADDITION_DIALOG,輕按兩下ID後中間客戶區域出現其模闆視圖。在主菜單中選擇“Format(格式)”->"Tab Order(Tab鍵順序)",或者按快捷鍵Ctrl+D,對話框模闆上就會顯示各個控件的Tab順序數字。如 下圖:

上圖中每個控件左上角都有一個數字,這就是它的Tab響應順序。對話框剛打開時輸入焦點就在Tab順序為1的“退出”按鈕上,不做任何操作按下Tab鍵,輸入焦點就會轉移到Tab順序為2的“被加數”靜态文本框上,但是因為靜态文本框不接受任何輸入,是以輸入焦點繼續自動轉移到Tab順序為3的被加數編輯框,再按Tab鍵,輸入焦點又會轉移到Tab順序為4的“加數”靜态文本框上,同樣由于它是靜态文本框,輸入焦點不停留繼續轉移到加數編輯框,後面的控件同理。
我們認為這個順序不合理,那怎麼修改呢?很簡單,從自己認為Tab順序應該為1的控件開始依次單擊,随着單擊的完成,各控件的Tab響應順序也按我們的想法設定好了。 例如,此例中我們可以依次單擊被加數編輯框、“被加數”靜态文本框、加數編輯框、“加數”靜态文本框、和編輯框、“和”靜态文本框、“計算”按鈕和“退出”按鈕。設定完後如下圖:
例如,此例中我們可以依次單擊被加數編輯框、“被加數”靜态文本框、加數編輯框、“加數”靜态文本框、和編輯框、“和”靜态文本框、“計算”按鈕和“退出”按鈕。設定完後如下圖:
現在我們再運作程式,可以看到對話框打開後最初的輸入焦點在被加數編輯框上,然後我們按Tab鍵,輸入焦點移到加數編輯框上,繼續多次按Tab鍵時,輸入焦點會按“和編輯框--‘計算’按鈕--‘退出’按鈕--被加數編輯框--加數編輯框--和編輯框......”的順序循環轉移。這樣就達到了我們的目的。
本節教程内容比較簡單,相信大家很快就能掌握。依然歡迎大家在精靈部落格留言讨論。