本文匯總 C++Builder 中最高頻使用的 VCL 控件核心屬性、方法與事件,涵蓋列表框、組合框、標簽、按鈕、單選/複選、滾動條、常用對話框等,適合開發時快速查閱。
1. ListBox & ComboBox 核心屬性
| 屬性 | 適用 | 說明 |
Items | 兩者 | TStrings 集合,存儲列表項文本 |
ItemIndex | 兩者 | 當前選中項索引 (0-based),-1 表示無選中 |
Sorted | 兩者 | true 自動按升序排列 |
MultiSelect | ListBox | true 允許多選 (配合 SelCount/Selected[]) |
ExtendedSelect | ListBox | true 支持 Shift/Ctrl 多選,預設開啟 |
Columns | ListBox | 列數,>1 顯示多列 |
IntegralHeight | ListBox | true 高度自動調整為整行倍數 |
ItemHeight | 兩者 | 項高度 (像素),所有者繪製時必須設置 |
Style | ComboBox | csSimple/csDropDown/csDropDownList/csOwnerDrawFixed/csOwnerDrawVariable |
MaxLength | ComboBox | 編輯區最大輸入字符數,0=無限制 |
DropDownCount | ComboBox | 下拉列表可見項數 |
2. 三種 ComboBox 樣式對比
| Style | 編輯區可輸入 | 下拉列表 | 典型場景 |
csSimple | ✅ | 始終顯示 | 簡單列表+輸入 |
csDropDown | ✅ | 點擊箭頭顯示 | 最常用:可選可輸入 |
csDropDownList | ❌ | 點擊箭頭顯示 | 強制從預設項選擇 |
3. 常用運行時屬性 (唯讀)
| 屬性 | 控件 | 含義 |
SelCount | ListBox | 多選模式下選中項數 |
Selected[index] | ListBox | 指定索引項是否被選中 |
TopIndex | ListBox | 可視區頂部項索引,可寫入滾動 |
SelLength | ComboBox | 編輯區選中文本長度 |
SelStart | ComboBox | 編輯區選中起始位置 |
SelText | ComboBox | 編輯區選中文本內容 |
Text | ComboBox | 編輯區當前文本 |
4. 核心方法
Clear():清空所有項;
Add(const string&):追加項 (返回索引);
Insert(int index, const string&):插入項;
Delete(int index):刪除項;
ItemAtPos(TPoint pt, bool existing):坐標點對應項索引;
SelectAll():全選編輯區文本 (ComboBox)。
5. 關鍵事件
| 事件 | 觸發時機 | 備註 |
OnClick | 用戶單擊列表區選中項 | ComboBox 單擊編輯區/下拉箭頭**不觸發** |
OnChange | 編輯區文本發生改變 | 僅 ComboBox 有效 |
OnDropDown | 下拉列表彈出瞬間 | 可動態填充項 |
OnMeasureItem | 所有者繪製:測量項高度 | Style=csOwnerDraw* 時 |
OnDrawItem | 所有者繪製:繪製項內容 | 需自行處理選中/焦點狀態 |
6. 其他高頻控件速查
按鈕族
TButton:標準按鈕,OnClick、Default/Cancel 屬性;
TBitBtn:帶圖標/圖片,Kind 預設語義 (ok/cancel/help…);
TSpeedButton:無窗口句柄、可分組 (GroupIndex)、工具欄常用。
單選/複選
TRadioButton:同組 (GroupIndex 或同父容器) 單選;
TCheckBox:獨立三態 (cbChecked/Unchecked/Grayed)。
滾動條
TScrollBar:Min/Max/Position/LargeChange/SmallChange,OnScroll 事件參數 ScrollCode (sbLineUp/Down/PageUp/Down/ThumbTrack/EndScroll)。
常用對話框 (非可視組件)
TOpenDialog:Filter/DefaultExt/Options (ofFileMustExist/PathMustExist/AllowMultiSelect);
TSaveDialog:同 Open,OverwritePrompt;
TColorDialog:Options (cdFullOpen/PreventFullOpen);
TFindDialog/TReplaceDialog:模態/非模態查找替換,OnFind/OnReplace 事件。
建議收藏本表,開發時 Ctrl+F 快速定位屬性/事件拼寫與語義,提升編碼效率。