首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++Builder VCL 常用元件深度解析:ListBox、ComboBox、按鈕族群、對話框完全指南

     編輯:關於C++

VCL (Visual Component Library) 是 C++Builder 快速開發的核心資產。本文系統整理列表框、組合框、標籤、按鈕家族 (Button/BitBtn/SpeedButton)、單選/核取方塊、捲軸、常用對話框等核心元件的屬性、方法、事件與實戰技巧。

列表框與組合框 (ListBox / ComboBox)

核心屬性對照

屬性適用說明
Items兩者TStrings 集合,支援 Add/Insert/Delete/Clear/IndexOf
ItemIndex兩者目前選取項目索引 (-1=無選取),寫入可程式選取
Sorted兩者true 自動依升序排序
MultiSelectListBoxtrue 允許多選 (Ctrl/Shift 點選)
ExtendedSelectionListBox配合 MultiSelect,啟用 Shift/Ctrl 範圍選取
ColumnsListBox>1 顯示多欄 (預設 0=單欄)
StyleComboBoxcsSimple/csDropDown/csDropDownList/csOwnerDrawFixed/csOwnerDrawVariable
MaxLengthComboBox編輯區最大輸入長度 (0=無限)
IntegralHeightListBoxtrue 自動調整高度顯示完整行
ItemHeight兩者OwnerDraw 模式下項目高度

三種 ComboBox 模式差異

Style外觀可編輯下拉列表
csSimple編輯框+永顯列表是無 (永顯)
csDropDown編輯框+下拉鈕是點擊顯示
csDropDownList唯讀+下拉鈕否點擊顯示

關鍵事件

  • OnClick:列表區點選觸發 (編輯區/下拉鈕不觸發)
  • OnChange:編輯區文字變更 (僅 csSimple/csDropDown)
  • OnDropDown:下拉列表展開
  • OnMeasureItem / OnDrawItem:OwnerDraw 模式自繪

按鈕家族

共通核心屬性

屬性說明
Caption文字,& 後字元為加速鍵 (如 &OK → OK)
ModalResult對話框關閉返回值:mrNone(0)/mrOk(1)/mrCancel(2)/mrAbort(3)/mrRetry(4)/mrIgnore(5)/mrYes(6)/mrNo(7)/mrAll(8)/mrNoToAll(9)/mrYesToAll(10)
Defaulttrue = Enter 鍵觸發 (僅首個生效)
Canceltrue = Esc 鍵觸發 (僅首個生效)
Enabledfalse 灰顯禁用

三類按鈕差異

特性TButtonTBitBtnTSpeedButton
基礎類別TButtonControlTButtonControlTGraphicControl (非視窗化)
圖片支援無Glyph 屬性 (支援 4 狀態位圖帶)Glyph 屬性 (同 BitBtn)
可獲焦點是是否 (Tab 鍵跳過)
預設尺寸75×2575×2525×25 (方形)
分組單選否否GroupIndex > 0 時啟用
AllowAllUpN/AN/A分組中允許全彈起
DownN/AN/A按下狀態 (分組時互斥)

單選鈕與核取方塊

  • RadioButton:通常置於 RadioGroup 或 GroupBox 實現互斥單選,Checked 屬性讀寫選取狀態
  • CheckBox:AllowGrayed=false (預設) → 二態 (Checked/Unchecked);true → 三態 (cbChecked/cbUnchecked/cbGrayed,用 State 屬性)
  • 唯讀顯示技巧:置於 Panel 設 Enabled=false,避免灰顯同時禁用互動

標籤

捲軸

  • Kind:sbHorizontal/sbVertical
  • Min/Max:範圍
  • Position:目前位置
  • LargeChange/SmallChange:PageUp/Down、鍵盤方向鍵步進

常用對話框

屬性說明
AutoSizetrue 自動依文字調整尺寸
FocusControl加速鍵目標控制項 (配合 Caption 中 &)
ShowAccelChartrue 顯示實際 & 而非底線
Transparenttrue 忽略 Color,透顯背景
WordWraptrue 自動換行
元件用途關鍵屬性模態
TOpenDialog開啟檔案FileName, Filter, InitialDir, Options, DefaultExt, Title是
TSaveDialog儲存檔案同上是
TOpenPictureDialog開啟圖片 (含預覽)同上 + 預覽視窗是
TSavePictureDialog儲存圖片同上是
TColorDialog選取顏色Color, Options是
TFontDialog選取字型Font, Device, MinFontSize, MaxFontSize, Options是
TFindDialog尋找FindText, Options否 (非模態)
TReplaceDialog取代FindText, ReplaceText, Options否 (非模態)

對話框通用模式


if (OpenDialog1->Execute()) {  // Execute() 返回 true = 用戶按 OK
    Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
}
// 非模態 Find/Replace 需處理 OnFind/OnReplace 事件

Filter 字串格式


// 設計時用 Filter Editor,或手寫:
"文字檔 (*.txt)|*.txt|INI 設定 (*.ini)|*.ini|所有檔 (*.*)|*.*"
// FilterIndex 從 1 起算

熟練掌握 VCL 核心元件特性,能以最少程式碼實現豐富互動,是 C++Builder 高效開發的關鍵技能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved