概述
最後一個預先定義子視窗控制項是清單方塊。一個清單方塊是字串的集合,這些字串是一個矩形中可以捲動顯示的清單。-程式通過向清單方塊視窗訊息處理程式傳送訊息,可以在清單中增加或者刪除字串。當清單方塊中的某項被選擇時,清單方塊控制項就向其父視窗傳送WM_COMMAND訊息,父視窗也就可以確定選擇的是哪一項。
一個清單方塊可以是單選的,也可以是多選的,後者允許使用者從清單方塊中選擇多個項目。當清單方塊擁有輸入焦點時,其中項目的周圍顯示有虛線。在清單方塊中,游標位置並不指明被選擇的項目。被選擇的項目被加亮顯示,並且是反白顯示的。
單項選擇的清單方塊
使用者按Spacebar鍵就可以選擇游標所在位置的項目。方向鍵移動游標和目前選擇指示,並且能夠滾動清單方塊的內容。Page Up和Page Down鍵也能滾動清單方塊,但它移動的是游標而不是選擇指示。按字母鍵能將游標和選擇指示移到以此字母開頭的第一個(或下一個)選項。也可以使用滑鼠在要選擇的項目上單擊或者雙擊來選擇它。
多項選擇清單方塊
Spacebar鍵可以切換游標所在位置的項目的選擇狀態(如果該項已經被選擇,則取消選擇)。如同在單項選擇清單方塊中一樣,方向鍵取消前面選擇過的項目,並且移動游標和選擇指示。但是,Ctrl鍵和方向鍵能夠在移動游標的同時不移動選擇,Shift鍵加方向鍵能擴展一個選擇。
在多項選擇清單方塊中,單擊或者雙擊滑鼠按鍵能取消之前所有的選擇,而選擇被點中的項目。但是,如果在滑鼠點中某一項的同時也按下Shift鍵,則只能切換該項的選擇狀態,而不會改變任何其他項的選擇狀態。