清單方塊樣式

計算機領域中的一個技術名詞,主要用於編程方面。

簡介

當您使用CreateWindow建立清單方塊子視窗時,您應該將「listbox」作為視窗類別,將WS_CHILD作為視窗樣式。但是,這個內定清單方塊樣式不向其父視窗傳送WM_COMMAND訊息,這樣一來,程式必須向清單方塊詢問其中的項目的選擇狀態(藉助於傳送給清單方塊控制項的訊息)。所以,清單方塊控制項通常都包括清單方塊樣式識別字LBS_NOTIFY,它允許父視窗接收來自清單方塊的WM_COMMAND訊息。如果您希望清單方塊控制項對清單方塊中的項目進行排序,那么您可以使用另一種常用的樣式LBS_SORT。

詳細介紹

內定情況下,清單方塊是單項選擇的。多項選擇的清單方塊相當少。如果您想建立一個多項選擇清單方塊,那么您可以使用樣式LBS_MULTIPLESEL。通常,當給有捲動列的清單方塊增加新項目時,清單方塊本身會自己重畫。您可以通過將樣式LBS_NOREDRAW包含進去來防止這種現象。但是您也許不想使用這種樣式,這時可以使用WM_SETREDRAW訊息來暫時防止清單方塊控制項重新畫過,我將在稍後討論WM_SETREDRAW訊息。
內定狀態下,清單方塊視窗訊息處理程式只顯示列表項目,它的周圍沒有任何邊界。您可以使用視窗樣式識別字WS_BORDER來加上邊界。另外,您可以使用視窗樣式識別字WS_VSCROLL來增加垂直捲動列,以便用滑鼠來捲動列表項目。
Windows表頭檔案定義了一個清單方塊樣式,叫做LBS_STANDARD,它包含了最常用的樣式,其定義如下:
(LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
您也可以採用WS_SIZEBOX和WS_CAPTION識別字,但是這兩個識別字允許您重新定義清單方塊的大小,也允許您在清單方塊父視窗的顯示區域中移動清單方塊。
清單方塊的寬度應該能夠容納最長字串的寬度加上捲動列的寬度。您可以使用:
GetSystemMetrics (SM_CXVSCROLL) ;
來獲得垂直捲動列的寬度。您用一個字元的高度乘以想要在視埠中顯示的項目數來計算出清單方塊的高度。

相關詞條

相關搜尋

熱門詞條

聯絡我們