16.9 TDBComboBox部件
TDBComboBox部件中包含了TDBEdit部件的全部功能,它們具有相似性,不同的是在運行過程中TDBComboBox部件同時有一個下拉式列表框,在下拉式列表框中有一組可供選擇的項供用戶選擇,這些可選項是在設計階段由程序設計人員提供給TDBComboBox部件的Items屬性的。圖16.9是TDBComboBox部件的下拉式列表框中的內容,注意TDBComboBox部件一定要對應數據庫表中的一個字段。
圖16.9 TDBComboBox部件在運行過程中
TDBComboBox部件的一個重要的屬性是Items屬性,該屬性中包含著TDBComboBox部件在運行過程中下拉式列表框中的可選項,Items中的內容可以在設計階段指定。
如果一個TDBComboBox部件對應著數據庫表中一個字段,那麼當用戶要編輯修改該字段中的值時,可以打開下拉式列表框,從中選擇一個可選項作為字段值,也可以自己在TDBComboBox部件中輸入一個其他的字段值。
TDBComboBox部件還有下列一些重要的屬性,主要用來控制TDBComboBox部件的顯示模式和風格的。
Style屬性:控制TDBComboBox部件列表框的顯示格式的,當它的取值為:
● CSDropDown
缺省情況下為此值,顯示一個下拉式列表框和一個編輯框,下拉式列表框中的可選項都是字符串且各選擇項占居的高度一樣。
● CSSimple
只顯示一個列表框,列表框中的可選項都是字符串,且各選項占居一樣的高度。
● CSDropDownList
顯示一個下拉式列表框和一個編輯框,但用戶不能向編輯框中輸入一個在列表框中沒有的值。
● CSOwnerDrawFixed和CSOWnerDrawVariable
在列表框中不僅有字符串選項而且還允許有其他類型的選項,如位圖圖像等,這方面的詳細信息請參看聯機幫助。
DropDownCount屬性:允許列表框中顯示可選項的最大數目,當可選項數目大於該屬性值時,用戶可以用滾動條察看全部的可選項,當可選項數小於該屬性值時,列表框會自動調整其大小以足夠顯示全部可選項。
ItemHeight屬性:當TDBComboBox部件的Style屬性被設置為CSOwnerDrawFixed時,用此屬性來設置列表框中每個可選項占居的高度。
Sorted屬性:布爾型屬性,它決定列表框中的可選項是否按字母的排列順序排序。
16.10 TDBListBox部件
TDBListBox部件的基本功能與TDBComboBox部件基本上是一樣的,它們的不同之處在於TDBListBox部件沒有下拉式列表框而是一個列表框,在列表框中顯示一組供用戶選擇的可選項,在運行過程中,用戶單擊其中的可選項可以為TDBListBox 部件對應的字段賦一個字段值,但用戶不能自己從鍵盤上輸入一個列表框中不存在的字段值。
如果在應用程序中,TDBListBox對應數據庫表中一個具體的字段,那麼當在數據集中移動記錄指針時,當前記錄中對應TDBListBox部件的字段的值在TDBListBox部件的列表框中將以高亮度顯示,如果當前記錄的該字段值不在列表框中,那麼列表框中的可選項沒有一項是高亮度地顯示的。
TDBListBox的幾個屬性:
IntegralHeight屬性:該屬性是用來控制TDBListBox部件中的列表框的顯示格式的。當該屬性值為True(缺省情況下為此值)時,列表框底部的可選項自動地移到上一次被選用過的可選項的上面。當該屬性的值為False時,列表框底部的可選項的顯示方式取決於TDBListBox部件的ItemHeight屬性,並且列表框底部可選項可能不能被全部地顯示出來。