ListBox
ComboBox構件
Label構件
按鈕VCL
BitBtn構件
SpeedButton構件
單選鈕與復選框
ScrollBar構件
File Open
File Save對話框
Color對話框
Find和Replace
ListBox和ComboBox構件的用途很廣的構件。表示標准Windows列表框,用戶可以從它的選項清單中選擇選項。如果列表框中的項目太多,無法一次顯示完,則會出現滾動條,以便訪問列表框中的其它項目。新術語 有些列表框是所有者繪制的列表框。在所有者繪制的列表框中,編程人員要負責繪制列表框中的項目。如果需要,可以生成所有者繪制的列表框。所有者繪制的列表框很常見,只是你不一定認識到了而已。介紹定制C++ Builder工具條,其中介紹了C++ Builder工具條編輯器對話框,其中包含兩個列表框,左邊的列表框是普通列表框,列出可以選擇的按鈕組,而右邊的列表框則是個所有者繪制的列表框,顯示工具條上會顯示的實際按鈕和按鈕功能的文字說明。組合框是個專門列表框。實際上,組合框是列表框與編輯控件的組合。用戶可以在列表框中選擇,也可以在編輯部分輸入數值。用戶在列表框中選擇時,該項目即放在編輯控件中。組合框有三種,具體類型取決於Style屬性。表8.5列出了組合框類型及其說明。合框類型項目說明Simple只是在列表框上面放一個編輯控件。用戶可以在列表框中選擇,也可以在編輯部分輸入數值Drop-down類似於簡單樣式,只是列表框部分最初不顯示,而是提供一個下拉按鈕,讓用戶浏覽清單和選擇選項。用戶也可以在編輯部分輸入數值Drop-down list這種組合框限制更多。和下拉樣式一樣,列表框部分最初不顯示。用戶可以單擊下拉按鈕浏覽清單和選擇選項,但不能在編輯部分輸入文本。用這個樣式時只能在預定選項中選擇圖8.4顯示了ComboBox測試程序運行的情況,從中可以體會每種組合框的特點。
ColumnsListBox包含列表框中的列數,讓這個屬性大於1可以生成多列。缺省為0ExtendedSelectionListBox確定是否允許擴展選擇。擴展選擇使用戶能用Shift+單擊和Ctrl+單擊選擇項目。MultiSelect設置為false時無效。缺省為true
IntegralHeightListBox設置為true時,調整列表框高度以確保顯示部分行。設置為false時列表框可以顯示部分行。缺省為falseItemHeight兩者設置控件中項目的高度。用戶所有者繪制的列表框和組合框。缺省為13Items兩者包含列表框中的項目表,是個TStrings實例(具體屬性和方法見本章前面介紹TStrings的部分)MaxLengthComboBox用戶可以在組合框編輯部分輸入的最大字符數。同於編輯控件的MaxLength。缺省為0(無限)MultiSelectListBox設置為true時,列表框中可以選擇多個項目。缺省為falseSorted兩者設置為true時,列表框項目按升序排列,設置為false時不排序缺省為false
StyleComboBox提供組合框的樣式選項:
csSimple,
csDropDown
csDropDownList,
lbOwnderDrawFixed,
csOwnerDrawVariable,缺省為csDropDownListBox提供列表框的樣式選項:lbStandard,lbOwnderDrawFixed,和csOwnerDrawVariable,缺省為lbStandardTabWidthListBox設置列表框中標簽的寬度(像素),缺省為0TextComboBox包含組合框編輯部分的文本。運行屬性ItemIndexListBox包含當前所選項目的索引,0和第一個項目,1表示不選項目。寫入時,選擇指定的索引SelCountListBox包含多項選擇列表框中選擇的項目個數SelectedListBox選擇指定項目時返回true,否則返回falseSelLengthComboBox包含組合框編輯部分當前所選文本的長度SelStartComboBox包含組合框編輯部分當前所選文本的起點,編輯控件中第一個字符為0SelTextComboBox包含編輯控件中當前所選文本TopIndexListBox返回列表框頂部的項目,可以將頂部項目設置為某個列表框項目和前面介紹的編輯構件一樣,列表框與組合框的方法不多。Clear()方法清除控件的所有數據,ItemAtPos()方法返回指定x、y坐標處的列表框項目,SelectAll()方法選擇組合框編輯部分的文本。列表框與組合框中最常用的事件是OnClick事件,可以確定列表框中何時進行了選擇。說明 單擊組合框編輯部分或下拉按鈕不會觸發OnClick事件,只有單擊組合框的列表部分時才會觸發OnClick事件。OnChange事件可以和編輯控件中一樣觸發組合框編輯部分的變化。OnDropDown事件檢測是否單擊了組合框下拉按鈕。OnMeasureItem和OnDrawItem事件用於所有者繪制的列表框和所有者繪制的組合框。