其他控制元件
# Smart 控制元件使用(其他)
其他控制元件包含一些Windows桌面下常用的元件。
# 1. TBitBtn 元件
TBitBtn是一個按鈕元件,可以在其表面包含點陣圖。點陣圖按鈕表現出與按鈕元件相同的行為。使用它們從窗體和對話方塊啟動操作。
點陣圖按鈕實現指定點陣圖影象的屬性,以及它們在按鈕上的外觀和位置。您可以從預定義的點陣圖按鈕樣式中進行選擇,也可以使用您自己的自定義點陣圖作為按鈕。雖然按鈕只能與一個點陣圖關聯,但點陣圖(字形屬性)可以細分為四個大小相等的部分,這些部分根據按鈕的狀態顯示:彈起,按下,禁用和單擊。
TBitBtn的Kind屬性提供常用按鈕,例如OK,Cancel,Help等。這些預定義的按鈕型別具有相應的圖形影象和預設行為,因此您可以輕鬆地將它們新增到您的應用程式中,而無需編碼。
要使用其他按鈕型別對使用者的單擊的操作進行響應的推薦方法是將操作列表中的操作指定為Action屬性的值。通過設定Action屬性,可以使按鈕成為操作的客戶端,操作將處理更新按鈕屬性並在使用者單擊按鈕時進行響應。如果您沒有使用對特定型別的按鈕的內建響應或在使用者單擊按鈕時響應的操作,則可以通過編寫OnClick事件處理程式來指定按鈕的響應。
# 1.1. 屬性
- TBitBtn元件主要屬性
屬性 | 功能說明 |
---|---|
Action | 指定與元件關聯的操作 |
Align | 確定元件在其父元件區內的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
BiDiMode | 為元件指定雙向模式,控制文字的順序,垂直滾動條的位置以及是否改變對齊方式 |
Cancel | 確定按下Esc鍵時按鈕的OnClick事件處理程式是否執行 |
Caption | 指定標識使用者元件的文字字串 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
Default | 確定按下Enter鍵時按鈕的OnClick事件處理程式是否執行 |
DoubleBuffered | 確定元件的影象是直接渲染到視窗還是首先繪製到記憶體中的點陣圖 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
Font | 確定元件內顯示的文字字型 |
Glyph | 指定點陣圖按鈕上顯示的點陣圖 |
Kind | 指定點陣圖按鈕的型別 |
Layout | 指定影象在點陣圖按鈕上的顯示位置 |
Margin | 指定影象邊緣(在Glyph屬性中指定)和按鈕邊緣之間的畫素數 |
ModalResul | 確定按鈕是否以及如何關閉其(模態)父窗體 |
NumGlyphs | 指示Glyph屬性中指定的圖形中的影象數 |
ParentBiDiMode | 獲得或設定元件是否使用其父元件的BiDiMode屬性 |
ParentDoubleBuffered | 獲得或設定元件是否使用父元件的DoubleBuffered屬性 |
ParentFont | 確定元件是否使用父元件的Font |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
Spacing | 確定影象和文字在點陣圖或速度按鈕上的顯示位置 |
Style | 確定點陣圖按鈕的外觀 |
TabOrder | 確定父元件的切換順序 |
TabStop | 使用該屬性可允許或不允許用Tab訪問元件 |
Visible | 確定元件是否可見 |
WordWrap | 指定按鈕文字是否換行以適合元件的寬度 |
# 1.1.1. Cancel 屬性
property Cancel: Boolean;
該屬性用於確定當Esc鍵按下時,是否執行按鈕的OnClick事件處理程式。如果Cancel為True,則執行。雖然應用程式可有多個Cancel按鈕,但是窗體僅呼叫元件順序中第1個可視的Cancel按鈕的OnClick事件處理程式。
- True: 使用者按下Esc鍵時TButton元件的OnClick事件被觸發。
- False: 使用者按下Esc鍵時TButton元件的OnClick事件不被觸發。
# 1.1.2. Default 屬性
property Default: Boolean;
當按下Enter鍵時,該屬性用於確定元件的OnClick事件處理程式是否執行。如果Default為True,則執行。雖然應用程式可有多個Default按鈕,但是窗休僅呼叫元件順序中第1個可視的Default按鈕的OnClick事件處理程式,而且任何一個獲得焦點的按鈕可變為臨時Default的按鈕。如果使用者在按下Enter鍵前選擇了另一個按鈕,則執行所選按鈕的OnClick事件處理程式。
在開發程式時,如果需要在其他非按鈕元件獲得焦點時,按Enter鍵響應按鈕的OnClick 事件,可以設定按鈕的Default屬性為True。
# 1.1.3. Glyph 屬性
property Glyph: TBitmap;
該屬性用於指定點陣圖按鈕上顯示的點陣圖。在對像觀察器中Glyph屬性打開一個對話方塊,在此載入要在點陣圖按鈕上顯示的圖示檔案,或在程式運行過程中指定要顯示的點陣圖。
在一個點陣圖中,可提供4個影象,而且這4個影象必須大小相同,且排成一排。在點陣圖按鈕中顯示的影象由下列狀態決定。
影象位置 | 按鈕狀態 | 說明 |
---|---|---|
First | Up | 按鈕未被選中時顯示該影象。當按鈕獲得焦點時,可使用此影象。在這種情況下, 按鈕周圍將出現一個焦點區域。如果在點陣圖中只有一幅圖,則在其他情況下也使用該影象 |
Second | Disabled | 該影象通常以變灰方式顯示,表示該按鈕不能被選中 |
Third | Clicked | 使用者單擊按鈕后顯示該影象,釋放滑鼠按鍵后顯示Up狀態時的影象 |
Fourth | Down | 按鈕被按下後顯示該影象,表示按鈕一直被選中 |
如果只有一個影象出現,雖然Down狀態和Up狀態總是相同的,但是點陣圖按鈕仍試圖通過細小的改變表示其他不同狀態。如果使用者對這些結果不滿意,那麼可在點陣圖中提供其他影象。 如果在一個點陣圖中有多個影象,那麼一定要在NumGlyphs屬性中指定影象的數量。
# 1.1.4. Kind屬性
property Kind: TBitBtnKind;
該屬性用於確定點陣圖按鈕的型別。TBitBtnKind中包含了TBitBtn點陣圖按鈕的Kind屬性可取的值,這些值及其說明如下表。
數值 | 說明 | 按鈕影象 |
---|---|---|
bkCustom | 點陣圖按鈕使用Glyph屬性確定要顯示的點陣圖。使用者選中按鈕后,選擇一個ModalResult屬性 或提供程式碼響應一個OnClick事件 | |
bkOK | 在按鈕上顯示一個綠色的複選標記和文字OK。此時按鈕變成預設按鈕(Default屬性的值自動 設定為True),使用者選中該按鈕后關閉對話方塊,點陣圖按鈕的ModalResult屬性值為mrOK | |
bkCancel | 在按鈕上顯示一個紅色的叉號和文字Cancel。此時按鈕變成取消按鈕(Cancel屬件的值自動設 置為True),使用者選中該按鈕后關閉對話方塊,點陣圖按鈕的ModalResult屬性值為mrCancel | |
bkYes | 在按鈕上顯示一個綠色的複選標記和文字Yes。此時按鈕變成預設按鈕(Default屬件的值自動設 為True),接受對話方塊中的使用者操作,且關閉對話方塊,點陣圖按鈕的ModalResult屬件值為mrYes | |
bkNo | 在按鈕上顯示一個紅色的否定符號和文字No。此時按鈕變成取消按鈕(Cancel屬性的值自動設 為True),使用者選中該按鈕后,對話方塊中使用者的操作被取消,且關閉對話方塊,點陣圖按鈕的ModalResult 屬性值為mrNo | |
bkHelp | 在按鈕上顯示一個藍綠色的問號和文字Help。使用者選中該按鈕后,應用程式中幫助窗體將顯示 幫助檔案,顯示的幫助檔案是由應用程式的HelpFile屬性指定的。按鈕的HelpContext屬性值表 示顯示幫助檔案的幫助窗體 | |
bkClose | 在按鈕上顯示一個藍綠色的問號和文字Close。使用者選中該按鈕后,將關閉目前窗體。Default 屬件的值為True | |
bkAbort | 在按鈕上顯示一個紅色的叉號和文字Abort | |
bkRetry | 在按鈕上顯示一個綠色的彎箭頭記號和文字Retry | |
bkIgnore | 在按鈕上顯示一個人行走開的記號和文字Ignore。當程式出現錯誤時,用其可繼續運行 | |
bkAll | 在按鈕上顯示兩個綠色的複選標記和文字Yes to All |
# 1.1.5. Layout 屬性
property Layout: TButtonLayout;
該屬性用於確定點陣圖按鈕(TBitBtn)上顯示點陣圖或文字的位罝。
- blGlyphLeft: 影象在TBitBtn元件的左側。
- blGlyphRight: 影象在TBitBtn元件的右側。
- blGlyphTop: 影象在TBitBtn元件的頂部。
- blGlyphButton: 影象在TBitBtn元件的底部。
# 1.1.6. Margin 屬性
property Margin: Integer;
該屬性用於決定Glyph屬性指定的點陣圖邊緣到按鈕邊緣的畫素數量,其值是點陣圖邊緣到按鈕邊緣的畫素值,邊緣格式由Layout屬性中的佈局和文字決定。例如,若Layout屬性為 blGlyphLeft,則邊緣出現在點陣圖左邊緣到按鈕左邊緣之間。如果Margin屬性的值為3,則表示點陣圖邊緣和按鈕邊緣的間距為3個畫素;為-1 (預設),表示點陣圖和文字居中顯示。點陣圖邊緣和按鈕邊緣間的畫素數量等於按鈕的相反邊緣與文字間的畫素數量。
Margin屬性以畫素為單位指定影象邊緣與TBitBtn元件邊緣之間的空白距離,空白的顯示形式取決於Layout屬性指定的影象和文字的佈局。
# 1.1.7. NumGlyphs 屬性
property NumGlyphs: TNumGlyphs;
該屬性用於指定在Glyph屬性中指定的點陣圖中的影象數量。如果在點陣圖中有多個影象,則必須用NumGlyphs屬性指定點陣圖中的影象數量。該屬性的有效值是1-4,預設值為1。
# 1.1.8. Spacing 屬性
property Spacing: Integer;
該屬性用於確定顯示的影象(在Glyph屬性中指定)和文字(在Caption屬性中指定)間的畫素數量,預設值為4。如果該屬性的值為正數,則表示顯示的影象和文字之間的距離;為-1,則表示文字在影象和按鈕邊緣之間居中顯示,即影象與文字之間的距離和文字到按鈕邊緣的距離相等。
# 1.1.9. 事件
- TBitBtn元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClick | 使用者單擊元件時觸發該事件 |
OnContextPopup | 當用戶右鍵單擊元件或以其他方式呼叫彈出功能表(例如使用鍵盤)時觸發該事件 |
OnDragDrop | 使用者刪除正在拖動的對象時觸發該事件 |
OnDragOver | 當用戶在元件上拖動對像時觸發該事件 |
OnEndDock | 當對象的拖動結束后產生該事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnEnter | 在元件接收輸入焦點時觸發該事件 |
OnExit | 當輸入焦點從一個元件轉移到另一個元件時觸發該事件 |
OnKeyDown | 當用戶在元件具有焦點時按任意鍵時觸發該事件 |
OnKeyPress | 按下某個鍵時觸發該事件 |
OnKeyUp | 使用者釋放已按下的鍵時觸發該事件 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
OnStartDock | 當用戶開始拖動元件時觸發該事件 |
# 1.1.10. 方法
- TBitBtn元件主要方法列表
方法 | 功能描述 |
---|---|
Click | 模擬滑鼠點選,模擬使用者已經點選過按鈕 |
# 2. TSpeedButton 元件
TSpeedButton是一個用於執行命令或設定模式的按鈕。使用TSpeedButton將按鈕新增到窗體中的一組按鈕。
TSpeedButton引入了可用於設定表示不同按鈕狀態(選定,未選定,禁用等)的圖形影象的屬性。使用其他屬性指定多個影象或重新排列按鈕上的影象和文字。TSpeedButton還引入了允許按鈕作為一個組一起工作的屬性。通常將按鈕分組在面板中以建立專用工具欄和工具調色板。
當用戶單擊按鈕時,實現按鈕響應的推薦方法是將操作列表中的操作指定為Action屬性的值。通過設定Action屬性,可以使按鈕成為操作的客戶端,操作將處理更新按鈕屬性並在使用者單擊按鈕時進行響應。如果在使用者單擊按鈕時未使用操作進行響應,則可以通過編寫OnClick事件處理程式來指定按鈕的響應。
提示: 要建立一個帶有客戶端對齊字形的按鈕,該按鈕覆蓋按鈕的邊緣,請在按鈕的左上邊緣和左邊緣周圍新增1畫素邊距,並在其下邊緣和右邊緣周圍新增3畫素邊距。通過手動編輯Glyph屬性指定的點陣圖來完成此操作。
# 2.1. 屬性
- TSpeedButton元件主要屬性
屬性 | 功能說明 |
---|---|
Action | 指定與元件關聯的操作 |
Align | 確定元件在其父元件區內的對齊方式 |
AllowAllUp | 指定是否可以同時取消選擇包含此速度按鈕的組中的所有速度按鈕 |
Anchors | 指定元件如何停放在父窗體中 |
BiDiMode | 為元件指定雙向模式,控制文字的順序,垂直滾動條的位置以及是否改變對齊方式 |
Caption | 指定速度按鈕上顯示的標題或標籤 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
Down | 指定按鈕是選中(下)還是未選中(上) |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
Flat | 確定按鈕是否具有提供凸起或降低外觀的3D邊框 |
Font | 確定元件內顯示的文字字型 |
Glyph | 指定速度按鈕上顯示的點陣圖 |
GroupIndex | 允許速度按鈕作為一個組一起工作 |
Layout | 確定影象或文字在速度按鈕上的顯示位置 |
Margin | 指定按鈕邊緣與其表面上繪製的影象或標題之間的畫素數 |
NumGlyphs | 指定Glyph屬性中包含的影象數 |
ParentBiDiMode | 獲得或設定元件是否使用其父元件的BiDiMode屬性 |
ParentFont | 確定元件是否使用父元件的Font |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
Spacing | 確定影象和文字在速度按鈕上的顯示位置 |
Transparen | 指定按鈕的背景是否透明 |
Visible | 確定元件是否可見 |
# 2.1.1. AllowAllUp 屬性
property AllowAllUp: Boolean;
AllowAllUp屬性用於確定同一組中的加速按鈕是否能夠同時處於非選中狀態。
,多個加速按鈕在同一組(Grouplndex屬性值相同)中時,如果AllowAllUp屬性為False, 同一時刻必須有一個按鈕處於Down狀態,當用戶單擊一個Down狀態的按鈕,Down狀態不會改變;如果AllowAllUp屬性為True,則允許同一時刻組中的所有按鈕都處於非選中狀態, 當用戶單擊一個Down狀態按鈕時,Down狀態將會取消,再次單擊按鈕,按鈕將處於Down 狀態,如此反覆。如果同一組中的加速按鈕Grouplndex的屬性為0,則AllowAllUp屬性不起作用。
# 2.1.2. Down 屬性
property Down: Boolean;
Down屬性用於標識元件是處於選中狀態還是非選中狀態。該屬性只有在Grouplndex屬性不為0時才可用,當Grouplndex大於0時,設定Down屬性為True,將選中按鈕。當用戶在一個非選中按鈕上單擊時,按鈕將被選中,Down屬性被設定為True; 當用戶在一個選中的按鈕上單擊時,按鈕將處於非選中狀態,Down屬性被設定為False。
# 2.1.3. Flat 屬性
property Flat: Boolean;
Flat屬性用於確定元件是否有3D的外觀效果。設罝Flat屬性為True時,會取消按鈕的凸起或凹陷的外觀,使元件平面顯示。
# 2.1.4. Glyph 屬性
property Glyph: TBitmap;
Glyph屬性用於標識山現在點陣圖按鈕中的點陣圖。在對像觀察器中Glyph屬性打開一個對話方塊,在此載入要在點陣圖按鈕上顯示的圖示檔案,或在程式運行過程中指定要顯示的點陣圖。
在一個點陣圖中,可提供4個影象,而且這4個影象必須大小相同,且排成一排。在點陣圖按鈕中顯示的影象由下列狀態決定。
影象位置 | 按鈕狀態 | 說明 |
---|---|---|
First | Up | 按鈕未被選中時顯示該影象。當按鈕獲得焦點時,可使用此影象。在這種情況下, 按鈕周圍將出現一個焦點區域。如果在點陣圖中只有一幅圖,則在其他情況下也使用該影象 |
Second | Disabled | 該影象通常以變灰方式顯示,表示該按鈕不能被選中 |
Third | Clicked | 使用者單擊按鈕后顯示該影象,釋放滑鼠按鍵后顯示Up狀態時的影象 |
Fourth | Down | 按鈕被按下後顯示該影象,表示按鈕一直被選中 |
如果只有一個影象出現,雖然Down狀態和Up狀態總是相同的,但是點陣圖按鈕仍試圖通過細小的改變表示其他不同狀態。如果使用者對這些結果不滿意,那麼可在點陣圖中提供其他影象。 如果在一個點陣圖中有多個影象,那麼一定要在NumGlyphs屬性中指定影象的數量。
Glyph屬性用於指定TSpeedButton元件上顯示的點陣圖。一個點陣圖可以提供4幅影象,這些影象具有相同的尺寸並且相互連線排成一行,TSpeedButton元件將根據其不同的狀態分別顯示這4幅影象。
# 2.1.5. Grouplndcx 屬性
property Grouplndex: Integer;
Grouplndex屬性用於設定組標記。在同一個容器中Grouplndex屬性值相同的按鈕為一組。 當Grouplndex屬性為0時,按鈕的行為依賴於窗休中的其他按鈕,,使用者單擊按鈕(不釋放滑鼠)時,按鈕處於按下狀態,當用戶釋放滑鼠時,按鈕返回到正常狀態。
在設計程式時,如果需要將多個按鈕設定為一個組,可以將這些按鈕的Grouplndex屬性設定為相同的值。對於同一組中的按鈕,,一個按鈕處於選中狀態時,其他按鈕將處於非選中狀態。
# 2.1.6. Layout 屬性
property Layout: TButtonLayout;
該屬性用於確定按鈕上顯示點陣圖或文字的位置,TButtonLayout定義了點陣圖按鈕的Layout 屬性值。
- blGlyphLeft: 影象在TBitBtn元件的左側。
- blGlyphRight: 影象在TBitBtn元件的右側。
- blGlyphTop: 影象在TBitBtn元件的頂部。
- blGlyphButton: 影象在TBitBtn元件的底部。
# 2.1.7. Margin 屬性
property Margin: Integer;
該屬性用於決定Glyph屬性指定的點陣圖邊緣到按鈕邊緣的畫素數量,其值是點陣圖邊緣到按鈕邊緣的畫素值,邊緣格式由Layout屬性中的佈局和文字決定。例如若Layout屬性為 blGlyphLeft,則邊緣出現在點陣圖左邊緣到按鈕左邊緣之問。如果Margin屬性的值為3,則表示點陣圖邊緣和按鈕邊緣的間距為3個畫素;為-1 (預設),則點陣圖和文字居中顯示。點陣圖邊緣和按鈕邊緣間的畫素數量等於按鈕的相反邊緣與文字間的畫素數量。
Margin屬性以畫素為單位指定影象邊緣與元件邊緣之間的空白距離,空白的顯示形式取決於Layout屬性指定的影象和文字的佈局。
# 2.1.8. Spacing 屬性
property Spacing: Integer;
該屬性用於確定顯示的影象(在Glyph屬性中指定)和文字(在Caption屬性中指定)間的畫素數量,預設值為4。如果該屬性的值為正數,則表示顯示的影象和文字之間的距離;為-1,則表示文字在影象和按鈕邊緣之間居中顯示,即影象與文字之間的距離和文字到按鈕邊緣的距離相等。
# 2.1.9. Transparent 屬性
property Transparent: Boolean;
Transparent屬性用於確定按鈕的背景是否透明。為True,則背景透明,否則不透明。對於TSpeedButton,要想使背景透明,除了將Transparent屬性設定為True外,還應將Flat屬性設定為 True。
# 2.2. 事件
- TSpeedButton元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClick | 使用者單擊元件時觸發該事件 |
OnDblClick | 當滑鼠指針懸停在元件上時,使用者雙擊滑鼠左鍵時觸發該事件 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
# 2.3. 方法
- TSpeedButton元件主要方法列表
方法 | 功能描述 |
---|---|
Click | 模擬滑鼠點選,模擬使用者已經點選過按鈕 |
# 3. TMaskEdit 元件
TMaskEdit實現了通用的遮蔽編輯元件。使用TMaskEdit對像在窗體上放置遮蔽的編輯元件。該元件驗證使用者輸入的文字是否對掩碼進行編碼,該掩碼對文字可以採用的有效窗體進行編碼。掩碼還可以格式化顯示給使用者的文字。
# 3.1. 屬性
- TMaskEdit元件主要屬性
屬性 | 功能說明 |
---|---|
Align | 確定元件在其父元件區內的對齊方式 |
Alignment | 確定文字在文字編輯元件中的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
AutoSelect | 確定元件獲得焦點時是否自動選擇編輯元件中的所有文字 |
AutoSize | 確定編輯元件的高度是否自動調整大小以容納文字 |
BevelEdges | 使用該屬性可獲得或設定元件成斜角的邊緣 |
BevelInner | 使用該屬性可指定內斜角是否具有凸、凹或平坦的外觀 |
BevelKind | 使用該屬性可修改斜角的風格,即斜角的傾斜程度 |
BevelOuter | 使用該屬性可指定外斜角是否具有凸、凹或平坦的外觀,外斜角直接顯示在邊框內和內斜角的外面 |
BevelWidth | 使用該屬性可指定內外斜角的畫素寬度 |
BiDiMode | 為元件指定雙向模式,控制文字的順序,垂直滾動條的位置以及是否改變對齊方式 |
BorderStyle | 使用該屬性可影響編輯元件的客戶區域突出效果,其取值為bsSingle時,編輯元件的客戶區域有一個單線邊框;為bsNone時,無邊框 |
CharCase | 確定編輯元件中文字的大小寫 |
Color | 指定元件的背景顏色 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
Ctl3D | 確定元件是否具有三維(3-D)或二維外觀 |
DoubleBuffered | 確定元件的影象是直接渲染到視窗還是首先繪製到記憶體中的點陣圖 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
EditMask | 指定表示遮蔽編輯元件的文字有效的掩碼 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
Font | 確定元件內顯示的文字字型 |
ImeMode | 設定該屬性可配置IME處理使用者按鍵的方法。對於亞洲語言字元,IME為前端輸入處理器 |
ImeName | 設定該屬性可配置IME名稱 |
MaxLength | 指定可在編輯元件中顯示的最大字元數 |
ParentBiDiMode | 獲得或設定元件是否使用其父元件的BiDiMode屬性 |
ParentColor | 元件要使用與其父元件相同的顏色 |
ParentCtl3D | 確定元件是否使用父元件的Ctl3D屬性 |
ParentDoubleBuffered | 獲得或設定元件是否使用父元件的DoubleBuffered屬性 |
ParentFont | 確定元件是否使用父元件的Font |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
PasswordChar | 指示要顯示的字元(如果有),以代替在元件中鍵入的實際字元 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表 |
ReadOnly | 確定使用者是否可以更改編輯元件的文字 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
TabOrder | 確定父元件的切換順序 |
TabStop | 使用該屬性可允許或不允許用Tab訪問元件 |
Text | 在應用蒙版之前表示蒙版編輯元件的基礎文字 |
TextHint | Text屬性為空時顯示的提示或訊息 |
Visible | 確定元件是否可見 |
# 3.1.1. EditMask 屬性
property EditMask:String;
該屬性用於指定使用者輸入時必須遵循的格式。如果使用者輸入的字元不符合格式要求,這個字元將被過濾掉,編輯框將拒絕輸入。通常用於格式化顯示內容,比如電話號碼,郵政編碼等內容。
可填寫的字元型別及其格式釋義如下:
字元 | 說明 |
---|---|
0或9 | 數字(不允許使用加號 [+] 和減號 [-]) |
# | 數字或空格(空白將轉換為空格,允許使用加號和減號) |
L | 字母(A到Z,a到z) |
A或a | 字母或數字 |
C | 任一字元或空格 |
. , : ; - / | 十進制佔位符和千位、日期和時間分隔符 |
< | 使其後所有的字元轉換為小寫 |
> | 使其後所有的字元轉換為大寫 |
\ | 使其後的字元顯示為原義字元。可用於將該表中的任何字元顯示為原義字元(例如,\A 顯示為 A)。 |
# 3.1.2. EditText 屬性
property EditText:String;
用TmaskEdit建立的編輯框內的文字既可以通過Text屬性訪問,也可以通過EditText屬性訪問,不過這兩者之間稍有區別。Text屬性中只包含使用者實際輸入的字元,而EditText是經過格式后的文字,如果使用者輸入不完整,則EditText屬性中包含代表空白字元的符號。
# 3.1.3. MaxLength 屬性
property MaxLength: Integer;
該屬性是EditText的長度。無EditMask屬性時,設定該屬性可限制編輯元件中顯示字元的數量,否則該屬性由掩碼自身確定,且不能改變。EditText為沒有輸入的每個字元提供空字元,所以長度固定。
# 3.1.4. PasswordChar 屬性
property Passwordchar:String;
可以設定掩碼的顯示樣式,如密碼。如果需要在程式中輸入密碼之類的內容可以設定PasswordChar屬性。
//密碼文字顯示為*符號
FThis.MaskEdit1.PasswordChar := '*';
2
# 3.2. 事件
- TMaskEidt元件主要事件列表
事件 | 何時觸發 |
---|---|
OnChange | 編輯元件的文字可能已更改時觸發該事件 |
OnClick | 使用者單擊元件時觸發該事件 |
OnDblClick | 當滑鼠指針懸停在元件上時,使用者雙擊滑鼠左鍵時觸發該事件 |
OnDragDrop | 使用者刪除正在拖動的對象時觸發該事件 |
OnDragOver | 當用戶在元件上拖動對像時觸發該事件 |
OnEndDock | 當對象的拖動結束后產生該事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnEnter | 在元件接收輸入焦點時觸發該事件 |
OnExit | 當輸入焦點從一個元件轉移到另一個元件時觸發該事件 |
OnKeyDown | 當用戶在元件具有焦點時按任意鍵時觸發該事件 |
OnKeyPress | 按下某個鍵時觸發該事件 |
OnKeyUp | 使用者釋放已按下的鍵時觸發該事件 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
OnStartDock | 當用戶開始拖動元件時觸發該事件 |
OnStartDrag | 當用戶通過左鍵單擊元件並按住滑鼠按鈕開始拖動元件或其包含的對象時觸發該事件 |
# 3.3. 方法
# 3.3.1. Clear 方法
procedure Clear;reintroduce;
此方法用於把編輯框中使用者輸入的字元全部刪掉。
FThis.MaskEdit1.Clear;
# 4. TStringGrid 元件
TStringGrid表示一個網格元件,旨在簡化字串和關聯對象的處理。將TStringGrid對像新增到窗體以表格格式顯示文字數據。TStringGrid提供了許多屬性來控制網格的外觀,以及利用網格的表格組織響應使用者操作的事件和方法。
TStringGrid引入了將對象與網格中的每個字串相關聯的功能。這些對象可以封裝由呈現給使用者的字串表示的任何資訊或行為。
如果要在網格中顯示的字串表示數據集中記錄的欄位值,請改用TDBGrid。
# 4.1. 屬性
- TStringGrid元件主要屬性
屬性 | 功能說明 |
---|---|
Cells | 列出網格中每個單元格的字串 |
Cols | 列出字串及其每個列的關聯對像 |
Objects | 列出網格中每個單元格的對象 |
Rows | 列出每行的字串及其關聯對像 |
# 4.1.1. BorderStyle 屬性
property BorderStyle: TBorderStyle;
BorderStyle屬性用於確定表格的單線風格。
- bsNone: 表格沒有邊框。
- bsSingle: 表格具有單線邊框。
# 4.1.2. Cells 屬性
property Cells[ACol, ARow: Integer]: string;
Cells屬性列舉了字串表格中的所有字串。使用該屬效能夠訪問表格中的每個單元格字串。ACol表示單元格的列座標,第一列索引為0, ARow表示單元行座標,第一行索引為0。
# 4.1.3. Col 屬性
property Col: Longint;
Col屬性用於確定目前選中單元格的列索引。設罝該屬效能夠將焦點移到目前行的指定單元格中。在使用TStringGrid元件錄入數據時,爲了方便使用者錄入,需要控制焦點的移動。在程式中,可以通過設定Col屬性移動輸入焦點。
# 4.1.4. ColCount 屬性
property ColCount: Longint:
ColCount屬性用於標識網格的列數,包含表格中的固定列和滾動列。在程式中設定該屬性 能夠從表格的右邊新增或刪除列。
# 4.1.5. Cols 屬性
property Cols[Index: Integer]: TStrings;
Cols屬性用於列舉表格中的某一列數據。使用該屬效能夠訪問表格中某一列的所有字串,字串的數量總足與RowCount屬性相等。參數Index標識表格中某一列,第一列的索引值為0。
# 4.1.6. ColWidths 屬性
property ColWidths[Index: Longint]: Integer;
ColWidths屬性以畫素為單位標識網格中列的寬度。參數Index標識列的索引。在程式運行時設定ColWidths屬效能夠改變某一列的寬度。如果表格的列寬度沒有使用滑鼠改變,也沒有使用ColWidths屬性改變,預設寬度為DefaultColWidth屬性值。
# 4.1.7. EditorMode 屬性
property EditorMode: Boolean;
EditorMode屬性用於確定目前單元格能否被編輯。在運行時,設定該屬性為True,能夠使單元格處於編輯模式。當EditorMode屬性為True時,使用者能夠編輯表格中的單元格。在程式運行過程中,使用者按F2鍵能夠將EditorMode屬性設定為True,按Enter鍵能夠使EditorMode 屬性在True和False之間切換。如果Options屬性沒有包含goEditing選項或者Options屬性包 含了 goAlwaysShowEditor選項,該屬性將不起作用。
# 4.1.8. FixedRows 屬性
property FixedRows: Integer;
FixedRows屬性用於標識網格中固定行的行數。在程式中設定該屬效能夠建立或取消一個固定行。固定行出現在表格的上方,並且總是可見的。
# 4.1.9. GridHeight 屬性
property GridHeight: Integer;
GridHeight屬性以畫素為單位標識網格的高度。如果GridHeight屬性小於ClientHeight,表格的下方將出現空白,如果元件中的整個表格太高,GridHeight屬性等於ClientHeight,使用者必須通過滾動條才能檢視所有數據。
# 4.1.10. GridLineWidth 屬性
property GridLineWidth: Integer;
GridLineWidth屬性以畫素為單位標識表格線的寬度。如果Options屬性不包含goFixedHorzLine、 goFixedVertLine、goHorzLine 或 goVertLine 選項,GridLineWidth 屬性將不起作用。
# 4.1.11. GridWidth 屬性
property GridWidth: Integer;
GridWidth屬性以畫素為單位標識表格的寬度。如果表格寬度GridWidth小於元件客戶區寬度ClientWidth,表格中所有列均被顯示出來,元件的剩餘部分(右邊)用空白填充;如果表格太寬(元件只有使用水平滾動條顯示所有列),GridWidth屬性與ClientWidth屬性相等,使用者必須使用滾動條才能檢視所有列。
# 4.1.12. Options 屬性
property Options: TGridOptions;
Options屬性用於標識表格的顯示和行為。該屬性值足一個集合型別,元素如下。
- goFixedVertLine: 表格中固定列的垂直滾動條被畫。
- goFixedHorzLine: 表格中固定行的水平滾動條被畫。
- goVertLine: 在表格中繪製垂直線。
- goHorzLine: 在表格中繪製水平線。
- goRangeSelect: 使用者能夠同時選中多個單元格區域,如果Options屬性包含goEditing選項, goRangeSelect 將被忽略。
- goDrawFocusSelected: 當單元格被選中時,將高亮顯示。
- goRowSizing: 行能夠被單獨地調整大小。
- goColSizing: 列能夠被單獨地調整大小。
- goRowMoving: 非固定行能夠通過滑鼠移動。
- **goColMoving:**非固定列能夠通過滑鼠移動。
- goEditing: 使用者能夠編輯單元格。如果Options屬性包含該選項,則goRangeSelect不起作用。
- goTabs: 使用者按Tab鍵或Shift+Tab組合鍵能夠使焦點在單元格間移動。
- goRowSelect: 表格整行被選中。如果Options屬性包含該選項,則goAlwaysShowEditor不起作用。
- goAlwaysShowEditor: 表格被鎖定為編輯狀態。使用者在輸入數據時,不需要按F2或Enter鍵便可以使表格處於編輯狀態。如果Options選項不包含goEditing,則該選項不起作用;如果 Options選項包含goRowSelect,該選項不起作用。
- goThumbTracking: 當用戶拖動滾動塊時,重新整理表格,否則,表格不被更新,直到使用者釋放拖動的滾動塊。
# 4.1.13. Row 屬性
property Row: Longint;
Row屬性用於標識目前被選中單元格的索引。在程式運行時,使用該屬效能夠確定表格中的當前行。設定Row屬效能夠在目前列中將焦點移動到Row所表示的行。第一行的索引值為 0,第二行的索引值為1,依次類推。
# 4.1.14. RowCount 屬性
property RowCount: Longint;
RowCount屬性以畫素為單位標識表格的行數。在程式中設定該屬效能夠在表格的底部新增或刪除行。
# 4.1.15. RowHeights 屬性
property RowHeights[Index: Longint]: Integer;
RowHeights屬性以畫素為單位顯示錶格中行的高度。使用該屬效能夠在程式中讀取或設定某一行的高度。使用RowHeights屬效能夠為表格每一行設定不同的高度。在通常情況下,爲了美觀,表格中的行高度均相同。但足,在程式中爲了突岀地顯示某些數據,可以有意地調整行高度。
# 4.1.16. Rows 屬性
property Rows[Index: Integer]: TStrings;
Rows屬性用於列舉某一行的所有字串。使用該屬效能夠訪問表格中某一行的所有字串,字串的數量總足與ColCount屬性相等。參數Index用於標識表格中的某一行,第一行的索引值為0。
# 4.2. 事件
事件 | 何時觸發 |
---|---|
OnColumnMoved | OnColumnMoved事件在列的位置發生改變時發生 |
OnContextPopup | 當用戶右擊元件或用其他方式(如鍵盤)呼叫彈出功能表時產生該事件 |
OnDrawCell | OnDrawCell事件在表格中的單元格需要繪製時被觸發 |
OnEndDock | 當對象的拖動結束后產生事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnExit | 這個事件發生在控制從活動狀態變為非活動狀態的時候 |
OnGetEditMask | OnGetEditMask事件在單元格要求輸入數據(獲得輸入焦點)時被觸發 |
OnGetEditText | OnGetEditText事件在單元格要求輸入數據(獲得輸入焦點)時被觸發 |
OnMouseWheelDown | 該事件在滑鼠輪向下滾動時發生 |
OnMousewheelUp | 該事件在滑鼠輪向上滾動時發生 |
OnRowMoved | OnRowMoved 事件在行的位置改變時發生 |
OnSelectCell | OnSelectCell事件在表格中的單元格被選中前發生 |
OnSetEditText | OnSetEditText 事件在使用者編輯單元格中的數據時被觸發 |
OnStartDock | 當用戶開始拖動元件時產生該事件 |
OnTopLeftChanged | OnTopLeftChanged事件在TopRow屬性或LeftCoI屬性改變時被觸發 |
# 5. TDrawGrid 元件
TDrawGrid表示以列和行格式顯示資訊的網格元件。
將TDrawGrid對像新增到窗體以表格格式顯示任意資訊。TDrawGrid提供了許多屬性來控制網格的外觀,以及利用網格的表格組織響應使用者操作的事件和方法。TDrawGrid引入了幾個事件和方法,允許應用程式自定義網格的外觀和行為。
如果網格的單元格包含表示對象的文字字串,請考慮使用TStringGrid對象。如果網格顯示數據集中記錄的欄位值,請改用TDBGrid。TDrawGrid的屬性設定與TStringGrid相同。
# 5.1. 屬性
- TDrawGrid元件主要屬性
屬性 | 功能說明 |
---|---|
Align | 確定元件在其父元件區內的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
BevelEdges | 使用該屬性可獲得或設定元件成斜角的邊緣 |
BevelInner | 使用該屬性可指定內斜角是否具有凸、凹或平坦的外觀 |
BevelKind | 使用該屬性可修改斜角的風格,即斜角的傾斜程度 |
BevelOuter | 使用該屬性可指定外斜角是否具有凸、凹或平坦的外觀,外斜角直接顯示在邊框內和內斜角的外面 |
BevelWidth | 使用該屬性可指定內外斜角的畫素寬度 |
BiDiMode | 為元件指定雙向模式,控制文字的順序,垂直滾動條的位置以及是否改變對齊方式 |
BorderStyle | 確定是否在網格周圍繪製單個線條邊框 |
ColCount | 指定網格中的列數 |
Color | 指定元件的背景顏色 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
Ctl3D | 確定元件是否具有三維(3-D)或二維外觀 |
DefaultColWidth | 確定尚未顯式調整大小的所有列的寬度(以畫素為單位) |
DefaultDrawing | 確定繪製網格時是否繪製單元格 |
DefaultRowHeight | 指定尚未顯式調整大小的所有行的高度(以畫素為單位) |
DoubleBuffered | 確定元件的影象是直接渲染到視窗還是首先繪製到記憶體中的點陣圖 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
FixedColor | 指定網格中固定行和列的背景顏色 |
FixedCols | 指定網格左側無法滾動的列數 |
FixedRows | 指定網格頂部無法滾動的行數 |
Font | 確定元件內顯示的文字字型 |
GridLineWidth | 指定分隔網格單元格的線條的寬度(以畫素為單位) |
Options | 指定網格的各種顯示和行為屬性 |
ParentBiDiMode | 獲得或設定元件是否使用其父元件的BiDiMode屬性 |
ParentColor | 元件要使用與其父元件相同的顏色 |
ParentCtl3D | 確定元件是否使用父元件的Ctl3D屬性 |
ParentDoubleBuffered | 獲得或設定元件是否使用父元件的DoubleBuffered屬性 |
ParentFont | 確定元件是否使用父元件的Font |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表 |
RowCount | 指定網格中的行數 |
ScrollBars | 指定網格是否包含水平和垂直滾動條 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
TabOrder | 確定父元件的切換順序 |
Visible | 確定元件是否可見 |
VisibleColCount | 指示網格中可見的可滾動列的數量 |
VisibleRowCount | 指示網格中可見的可滾動行數 |
# 5.2. 事件
- TDrawGrid元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClick | 使用者單擊元件時觸發該事件 |
OnColumnMoved | 在列的位置更改后立即觸發該事件 |
OnContextPopup | 當用戶右鍵單擊元件或以其他方式呼叫彈出功能表(例如使用鍵盤)時觸發該事件 |
OnDblClick | 當滑鼠指針懸停在元件上時,使用者雙擊滑鼠左鍵時觸發該事件 |
OnDragDrop | 使用者刪除正在拖動的對象時觸發該事件 |
OnDragOver | 當用戶在元件上拖動對像時觸發該事件 |
OnDrawCell | 在需要繪製網格中的單元格時觸發該事件 |
OnEndDock | 當對象的拖動結束后產生該事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnEnter | 在元件接收輸入焦點時觸發該事件 |
OnExit | 當輸入焦點從一個元件轉移到另一個元件時觸發該事件 |
OnGetEditMask | 在就地編輯器請求編輯掩碼時觸發該事件 |
OnGetEditText | 在就地編輯器請求單元格的值時觸發該事件 |
OnKeyDown | 當用戶在元件具有焦點時按任意鍵時觸發該事件 |
OnKeyPress | 按下某個鍵時觸發該事件 |
OnKeyUp | 使用者釋放已按下的鍵時觸發該事件 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
OnMouseWheelDown | 滑鼠滾輪向下旋轉時觸發該事件 |
OnMouseWheelUp | 滑鼠滾輪向上旋轉時觸發該事件 |
OnRowMoved | 在行的位置發生更改后立即觸發該事件 |
OnSelectCell | 在選擇網格中的單元格之前觸發該事件 |
OnSetEditText | 在使用者編輯單元格的值時觸發該事件 |
OnStartDock | 當用戶開始拖動元件時觸發該事件 |
OnStartDrag | 當用戶通過左鍵單擊元件並按住滑鼠按鈕開始拖動元件或其包含的對象時觸發該事件 |
OnTopLeftChanged | 在TopRow屬性或LeftCol屬性更改后立即觸發該事件 |
# 6. TImage 元件
TImage用於顯示圖形影象。使用TImage在窗體上顯示圖形影象。使用Picture屬性中的TPicture對像指定TImage顯示的點陣圖,圖示,元檔案或其他圖形對象。TPicture的屬性和方法可用於從檔案載入影象,清除TImage中的影象以及為另一個元件分配影象之類的操作。TImage引入了幾個屬性來確定影象在TImage對像邊界內的顯示方式。
要將影象新增到窗體或數據模組以便其他元件(如操作列表和點陣圖按鈕)可以顯示,請使用TImageList元件。TImage可以包含點陣圖,圖示,PNG,GIF或JPEG影象。TImageList可以儲存TImage所擁有的任何影象型別。
# 6.1. 屬性
- TImage元件主要屬性
屬性 | 功能說明 |
---|---|
Canvas | 提供用於修飾點陣圖影象的繪圖表面 |
Align | 確定元件在其父元件區內的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
AutoSize | 指定元件是否自動調整大小以適應影象的尺寸 |
Center | 指示影象是否在影象元件中居中 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
IncrementalDisplay | 指定在慢速操作期間是否應繪製圖像的逐次逼近 |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
Picture | 指定影象元件上顯示的影象 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表 |
Proportional | 指示是否應該更改影象而不失真,以使其適合影象元件的邊界 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
Stretch | 指示是否應更改影象以使其完全適合影象元件的邊界 |
Transparent | 指定影象的背景是否遮擋影象對像下方的對象 |
Visible | 確定元件是否可見 |
# 6.1.1. Canvas 屬性
property Canvas: TCanvas;
使用該屬性可新增Picture屬性中指定的影象,例如使用TCanvas對象的TextOut方法可在影象上顯示文字。這個屬性只在Picture屬性指定一個點陣圖(*.bmp)時才可用,如果指定其他型別的影象,則使用這個屬性時將出現EinvalidOperation異常。
FThis.Image1.Canvas.Font.Size := 20;
FThis.Image1.Canvas.TextOut(40,20,'你好!');
2
# 6.1.2. Center 屬性
property Center: Boolean;
該屬性用於確定Image元件中的影象是否居中,為True,居中;為False (預設),從元件的左上角開始顯示。當AutoSize或Stretch屬性為True, 且Picture屬性未指定圖示時,該屬性無效。
# 6.1.3. IncrementalDisplay 屬性
property IncrementalDisplay: Boolean;
該屬性用於指定在緩慢操作中繪製的影象是否近似連續。在呼叫一個很大壓縮比后的影象需要很長時間或通過繪慢的計算過程才能改變影象時,可將這個屬性設罝為True。此時,影象在比較慢的顯示期間週期性的連續顯示;為False (預設),影象在顯示前等待,直到所有操作完成後才顯示。
# 6.1.4. Picture 屬性
property Picture: TPicture;
該屬性指定了在Image元件中顯示的影象,即TPicture對象,其中包含圖示、圖元檔案、 點陣圖影象或使用者定義的影象。該屬性的影象可在影象編輯器(Picture Editor)中調入。載入影象的指令碼程式碼如下:
FThis.Image1.Picture.LoadFromFile(C:\icon.ico);
# 6.1.5. Proportional 屬性
property Proportional: Boolean;
該屬性用於指定影象是否不會失真,在影象元件中能完全顯示。為True,填充的影象太大時將以按比例縮小的影象完全填充其影象元件,而填充的影象小於影象元件時按正常顯示。所以該屬性只能減少影象的放大率,而不能增加。當屬性包含一個點陣圖時,該屬性無效。該屬性預設為False。
# 6.1.6. Stretch 屬性
property Stretch: Boolean;
該屬性用於指定Image元件中的影象是否可以改變,以確切地將影象放入影象控制的邊界。 為True,影象適合影象控制的大小和形狀。當影象元件大小改變時,影象大小也改變。該屬性會改變影象的高和寬,因此,在影象元件和影象的形狀不一樣時,它可扭曲影象元件上的影象。 要調整Image元件中影象與元件的大小相同,最好使用AutoSize屬性。如果Picture屬性包含的是一個圖示,則該屬性值無效。
# 6.1.7. Transparent 屬性
property Transparent: Boolean;
該屬性用於指定影象的背景是否遮蓋其下面的影象對象,為True,可透過點陣圖的背景看到TImage對像下面的對象;為False,點陣圖背景不透明。設定這個屬性就設定了 Picture的Transparent 屬性。該屬性只有在Picture屬性指定一個TBitmap對像時才有效。
# 6.2. 事件
- TImage元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClick | 使用者單擊元件時觸發該事件 |
OnContextPopup | 當用戶右鍵單擊元件或以其他方式呼叫彈出功能表(例如使用鍵盤)時觸發該事件 |
OnDblClick | 當滑鼠指針懸停在元件上時,使用者雙擊滑鼠左鍵時觸發該事件 |
OnDragDrop | 使用者刪除正在拖動的對象時觸發該事件 |
OnDragOver | 當用戶在元件上拖動對像時觸發該事件 |
OnEndDock | 當對象的拖動結束后產生該事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
OnProgress | 在影響影象的慢速操作期間定期觸發該事件 |
OnStartDock | 當用戶開始拖動元件時觸發該事件 |
# 7. TShape 元件
TShape表示可以在窗體上繪製的幾何形狀。將TShape對像新增到窗體以在窗體上繪製簡單的幾何形狀。TShape引入了屬性來描述用於勾勒形狀的筆和用於填充它的筆刷。如果形狀只是自定義元件影象的一部分,請改用元件Canvas的方法。
# 7.1. 屬性
- TShape元件主要屬性
屬性 | 功能說明 |
---|---|
Align | 確定元件在其父元件區內的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
Brush | 指定用於填充形狀元件的顏色和圖案 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
Pen | 指定用於勾勒形狀元件的筆 |
Shape | 指定元件的形狀 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
Visible | 確定元件是否可見 |
# 7.1.1. Brush 屬性
property Brush:Tbrush;
該屬性指定用於填充Shape元件的顏色和圖案。可改變Shape元件內部填充的顏色和圖案。
# 7.1.2. Shape 屬性
type TshaleType=(stRectangle,stSqure,stRoundRect,stRoundSquare,stEllipse,stCircle);
property Shape:TShapeType;
2
該屬性用於指定Shape元件的幾何形狀,設定這個屬性可改變在窗體中繪製的幾何圖形的形狀
- stCircle: 畫圓。
- stEllipse: 畫橢圓。
- stRectangle: 畫矩形。
- stRoundRect: 畫圓角的矩形。
- stRoundSquare: 畫圓角的正方形。
- stSquare: 畫正方形。
# 7.1.3. Pen屬性
property Pen:Tpen;
該屬性用於指定繪製Shape元件輪廓的畫筆,讀取這個屬性可獲得Tpen對象。指定繪製Shape元件輪廓的畫線的顏色和風格。使用該屬性可改變Shape元件畫線的顏色和風格。
# 7.2. 事件
- TShape元件主要事件列表
事件 | 何時觸發 |
---|---|
OnContextPopup | 當用戶右鍵單擊元件或以其他方式呼叫彈出功能表(例如使用鍵盤)時觸發該事件 |
OnDragDrop | 使用者刪除正在拖動的對象時觸發該事件 |
OnDragOver | 當用戶在元件上拖動對像時觸發該事件 |
OnEndDock | 當對象的拖動結束后產生該事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
OnStartDock | 當用戶開始拖動元件時觸發該事件 |
OnStartDrag | 當用戶通過左鍵單擊元件並按住滑鼠按鈕開始拖動元件或其包含的對象時觸發該事件 |
# 8. TBevel 元件
TBevel代表斜面輪廓。使用TBevel建立斜面框,框架或線條。 斜面可以升高或降低。
# 8.1. 屬性
- TBevel元件主要屬性
屬性 | 功能說明 |
---|---|
Align | 確定元件在其父元件區內的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
Shape | 確定斜角的形狀 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
Style | 確定斜面是升高還是降低 |
Visible | 確定元件是否可見 |
# 8.1.1. Shape 屬性
type TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine, bsSpacer);
property Shape: TBevelShape;
2
屬性用於確定Bevel對象的形狀。設定這個屬性可指定Bevel對像顯示的是線、盒子、 方框或空間的斜角情況。
- bsBox: 由Style屬性值決定,整個客戶區域顯示為凸起或凹下。
- bsFrame: 客戶區域是凸起或凹下的輪廓方框。
- bsTopLine: Bevel對像在客戶區域的頂部顯示一條線。
- bsBouttonLine: Bevel對像在客戶區域的底部顯示一條線。
- bsLeftLine: Bevel對像在客戶區域的左邊顯示一條線。
- bsRightLine: Bevel對像在客戶區域的右邊顯示一條線。
- bsSpacer: Bevel 對象是空的空間。
# 8.1.2. Style 屬性
type TBevelStyle=(bsLowered,bsRaised);
property Style:TBevelStyle;
2
該屬性用於確定Bevel對象的顯示是凸起還是凹下狀態,為bsBox時,整個客戶區域顯示為凸起或凹下;為其他值時,Bevel對像沿著元件邊緣或客戶區域邊緣顯示凸起或凹下的線。
# 9. TScrollBox 元件
TScrollBox表示視窗中的滾動區域(滾動框)。使用TScrollBox在視窗中建立滾動框。
滾動框的一個用途是防止視窗區域(例如使用TPanel元件構建的工具欄或狀態列)滾動。要防止工具欄和狀態列滾動,請隱藏視窗的滾動條,然後在工具欄和狀態列之間的視窗的客戶區域中放置一個滾動框。與滾動框關聯的滾動條屬於視窗,但僅滾動滾動框內的區域。
滾動框的另一個用途是在視窗中建立多個滾動區域(檢視)。滾動框可以包含對象,例如TButton和TCheckBox對象。
# 9.1. 屬性
- TScrollBox元件主要屬性
屬性 | 功能說明 |
---|---|
Align | 確定元件在其父元件區內的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
AutoScroll | 指示滾動條是否自動出現在滾動視窗元件上,如果它不足以顯示其所有元件 |
AutoSize | 指定元件是否自動調整大小以容納其內容 |
BevelEdges | 使用該屬性可獲得或設定元件成斜角的邊緣 |
BevelInner | 使用該屬性可指定內斜角是否具有凸、凹或平坦的外觀 |
BevelKind | 使用該屬性可修改斜角的風格,即斜角的傾斜程度 |
BevelOuter | 使用該屬性可指定外斜角是否具有凸、凹或平坦的外觀,外斜角直接顯示在邊框內和內斜角的外面 |
BevelWidth | 使用該屬性可指定內外斜角的畫素寬度 |
BiDiMode | 為元件指定雙向模式,控制文字的順序,垂直滾動條的位置以及是否改變對齊方式 |
BorderStyle | 指定滾動框是否具有邊框 |
Color | 指定元件的背景顏色 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
Ctl3D | 確定元件是否具有三維(3-D)或二維外觀 |
DockSite | 使用該屬性可確定元件是否為拖動和停靠操作目標 |
DoubleBuffered | 確定元件的影象是直接渲染到視窗還是首先繪製到記憶體中的點陣圖 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
Font | 確定元件內顯示的文字字型 |
Padding | 指定元件的填充 |
ParentBackground | 確定元件是否使用父級的主題背景 |
ParentBiDiMode | 獲得或設定元件是否使用其父元件的BiDiMode屬性 |
ParentColor | 元件要使用與其父元件相同的顏色。 |
ParentCtl3D | 確定元件是否使用父元件的Ctl3D屬性。 |
ParentDoubleBuffered | 獲得或設定元件是否使用父元件的DoubleBuffered屬性。 |
ParentFont | 確定元件是否使用父元件的Font。 |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示。 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表。 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」。 |
TabOrder | 確定父元件的切換順序。 |
TabStop | 使用該屬性可允許或不允許用Tab訪問元件。 |
Visible | 確定元件是否可見。 |
# 9.1.1. Action 屬性
property Action: TBasicAction;
該屬性是與元件關聯的行為對象,允許應用程式集中響應使用者命令。當元件與行為相關聯時,行為確定元件的適當屬性和方法。要在設計程式時建立行為,則在窗體或數據模組上放置行為列表元件。雙擊該行為列表將打開行為列表編輯器,在編輯器中使用功能表新增行為。使用列表編輯器新增的行為將在對像觀察器中的Action屬性的下拉選單中顯示。
# 9.1.2. AlignDisabled 屬性
property AlignDisabled: Boolean;
如果子元件的重新排列通過呼叫DisableAlign禁止,則該屬性返回True。
# 9.1.3. BevelEdges 屬性
property BevelEdges: TBevelEdges;
BevelEdges屬性用於確定元件的邊緣的斜面。在設定滾動框邊框斜面時,如果BevelKind屬性為bkNone,則BelvelEdges屬性不起作用。
- beLeft: 元件的左邊緣有斜面。
- beTop: 元件的上邊緣有斜面。
- beRight: 元件的右邊緣有斜面。
- beBottom: 元件的底邊緣有斜面。
# 9.1.4. BevelWidth 屬性
property BevelWidth: TBevelWidth;
使用該屬性可指定內外斜角的畫素寬度。
# 9.1.5. Brush 屬性
property Brush: TBrush;
使用該屬性可確定元件背景的風格和顏色。因為窗體元件只有一個Brush對像處理元件背景的繪製,所以該屬性為只讀。使用TBrush對象的Color和Style屬性可改變畫刷的屬性,使用TBrush對象的Assign方法可改變一個畫刷的所有屬性與另一畫刷的屬性相匹配。
# 9.1.6. HorzScrollBar 屬性
property HorzScrollBar: TControlScrollBar;
通過設定HorzScrollBar屬性可隱藏、顯示或操作滾動視窗元件的水平滾動條。
# 9.1.7. PopupMenu 屬性
property PopupMenu: TPopupMenu;
為該屬性分配一個值,可使右擊元件后顯示彈出式功能表。如果TPopupMenu對象的這個屬性為True,則自動顯示彈出式功能表;否則從元件的OnContextPopup事件處理程式中呼叫功能表的Popup方法顯示功能表。
# 9.1.8. VertScrollBar 屬性
property VertScrollBar: TControlScrollBar;
通過設罝VertScrollBar屬性可隱藏、顯示或操作滾動視窗元件的垂直滾動條。
# 9.2. 事件
- TScrollBox元件主要事件列表
事件 | 何時觸發 |
---|---|
OnCanResize | 嘗試調整元件的大小時觸發該事件 |
OnClick | 使用者單擊元件時觸發該事件 |
OnConstrainedResize | 調整調整大小約束。 |
OnContextPopup | 當用戶右鍵單擊元件或以其他方式呼叫彈出功能表(例如使用鍵盤)時發生。 |
OnDblClick | 當滑鼠指針懸停在元件上時,使用者雙擊滑鼠左鍵時發生。 |
OnDockDrop | 當另一個元件停靠到元件時發生。 |
OnDockOver | 在元件上拖動另一個元件時發生。 |
OnDragDrop | 使用者刪除正在拖動的對象時發生。 |
OnDragOver | 當用戶在元件上拖動對像時發生。 |
OnEndDock | 拖動對像結束時,通過停靠對像或取消拖動來發生。 |
OnEndDrag | 通過刪除對像或取消拖動來拖動對像結束時發生。 |
OnEnter | 在元件接收輸入焦點時發生。 |
OnExit | 當輸入焦點從一個元件轉移到另一個元件時發生。 |
OnGetSiteInfo | 返回元件的停靠資訊。 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時發生。 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時發生。 |
OnMouseEnter | 使用者將滑鼠移動到元件中時發生。 |
OnMouseLeave | 使用者將滑鼠移出元件之外時發生。 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時發生。 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時發生。 |
OnMouseWheel | 旋轉滑鼠滾輪時發生。 |
OnMouseWheelDown | 滑鼠滾輪向下旋轉時發生。 |
OnMouseWheelUp | 滑鼠滾輪向上旋轉時發生。 |
OnResize | 在調整元件大小后立即發生。 |
OnStartDock | 當用戶開始使用DragKind dkDock拖動元件時發生。 |
OnStartDrag | 當用戶通過左鍵單擊元件並按住滑鼠按鈕開始拖動元件或其包含的對象時發生。 |
OnUnDock | 當應用程式嘗試取消停靠到視窗元件的元件時發生。 |
# 9.3. 方法
# 9.3.1. DisableAlign 方法
procedure DisableAlign;
當需要暫時禁止子元件重排時呼叫該方法,例如當執行元件的多工操作時,讀取窗體檔案或執行縮放。如果在所有操作結束后才允許子元件重排,可提高執行效能。在每一次呼叫該方法后,必須相應呼叫EnableAlign方法。該方法會增加參數數量,EnableAlign會減少參數數量。當參數數量為0時,EnableAlign將執行任何需要的元件重排。
# 9.3.2. PaintTo 方法
procedure PaintTo(DC: HDC; X,Y: Integer);
呼叫該方法可在設備環境中繪製元件,DC參數值指定設備環境,X和Y座標值表示視窗元件的左上角位置。這個方法首先刪除設備環境的背景,然後繪製元件。要將元件的影象繪入DC點陣圖中時,該方法非常有用。參數DC標識一個設備描述體,X、Y標識描述休中繪製視窗元件的左上角座標。
# 9.3.3. Repaint 方注
procedure Repaint; override;
呼叫該方法可重繪元件,它呼叫Invalidate方法,然後呼叫Update方法來重繪元件。
# 9.3.4. ScaleBy 方法
procedure ScaleBy(M, D: Integer);
呼叫該方法可重新調節元件和其子元件,它只修改元件的Height和Width屬性,並不更改Top和Left屬性。因此雖然元件的尺寸大小產生變化,但是元件左上角的座標並不改變。
M和D參數確定元件及其子元件重新調整的百分比。M為乘數,D為除數。
說明:因為元件尺寸和座標值為整數,所以通過M/D比例調節尺寸時將可能導致舍入錯誤、如果不斷呼叫該方法,在某點上元件將消失移出視窗。當反覆調節元件時,在幾次調節元件后 應刪除和過載窗體,以避免座標系產生累積輸入錯誤。
# 10. TCheckListBox 元件
TCheckListBox顯示一個可滾動列表,每個項旁邊都有覈取方塊。TCheckListBox類似於TListBox,除了每個專案旁邊都有一個覈取方塊。使用者可以選中或取消選中列表中的專案。
# 10.1. 屬性
- TCheckListBox元件主要屬性
屬性 | 功能說明 |
---|---|
Checked | 指示檢查了哪些專案 |
Header | 指示哪些專案充當標題 |
ItemEnabled | 啟用或禁用列表中的各個專案 |
State | 指示檢查了哪些專案 |
Align | 確定元件在其父元件區內的對齊方式 |
AllowGrayed | 確定覈取方塊是否可以處於「灰色」狀態 |
Anchors | 指定元件如何停放在父窗體中 |
AutoComplete | 確定使用者是否可以通過在列表中鍵入來關注專案 |
BevelEdges | 使用該屬性可獲得或設定元件成斜角的邊緣 |
BevelInner | 使用該屬性可指定內斜角是否具有凸、凹或平坦的外觀 |
BevelKind | 使用該屬性可修改斜角的風格,即斜角的傾斜程度 |
BevelOuter | 使用該屬性可指定外斜角是否具有凸、凹或平坦的外觀,外斜角直接顯示在邊框內和內斜角的外面 |
BevelWidth | 使用該屬性可指定內外斜角的畫素寬度 |
BiDiMode | 為元件指定雙向模式,控制文字的順序,垂直滾動條的位置以及是否改變對齊方式 |
BorderStyle | 確定列表框是否具有邊框 |
Color | 指定元件的背景顏色 |
Columns | 指定多列列表框中的列數,無需滾動即可顯示 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
Ctl3D | 確定元件是否具有三維(3-D)或二維外觀 |
DoubleBuffered | 確定元件的影象是直接渲染到視窗還是首先繪製到記憶體中的點陣圖 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
Flat | 確定覈取方塊是否顯示為三維 |
Font | 確定元件內顯示的文字字型 |
HeaderBackgroundColor | 指定列表框中標題項的背景顏色 |
HeaderColor | 指定列表框中標題項的字型顏色 |
ImeMode | 設定該屬性可配置IME處理使用者按鍵的方法。對於亞洲語言字元,IME為前端輸入處理器 |
ImeName | 設定該屬性可配置IME名稱 |
IntegralHeight | 確定列表框是否顯示部分專案 |
ItemHeight | 指定所有者 - 繪製列表框中專案的高度(以畫素為單位) |
Items | 包含列表框中顯示的字串 |
ParentBiDiMode | 獲得或設定元件是否使用其父元件的BiDiMode屬性 |
ParentColor | 元件要使用與其父元件相同的顏色 |
ParentCtl3D | 確定元件是否使用父元件的Ctl3D屬性 |
ParentDoubleBuffered | 獲得或設定元件是否使用父元件的DoubleBuffered屬性 |
ParentFont | 確定元件是否使用父元件的Font |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表 |
ScrollWidth | 指定列表框可以水平滾動的寬度(以畫素為單位) |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
Sorted | 指定列表框中的專案是否按字母順序排列 |
Style | 確定列表框是標準框還是所有者繪圖以及它是否為虛擬列表框 |
TabOrder | 確定父元件的切換順序 |
TabStop | 使用該屬性可允許或不允許用Tab訪問元件 |
TabWidth | 指定列表框中選項卡的大小 |
Visible | 確定元件是否可見 |
# 10.1.1. AllowGrayed 屬性
property AllowGrayed: Boolean;
指定列表框中項的狀態,即選中、不選中和選中但變灰。
# 10.1.2. Checked 屬性
property Checked[index: integer]: Boolean;
該屬性用於設定列表框中的項是否被選中。
# 10.1.3. ItemEnabled 屬性
Property ItemEnabled[index: integer]: Boolean;
通過此陣列可以使列表框中的某項有效或無效。
# 10.1.4. State 屬性
Property State[index: integer]: TCheckBoxState;
此屬性用於設定或返回列表框中項的狀態。包括選中、未選中和變灰三種狀態。
# 10.2. 事件
- TCheckListBox元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClick | 使用者單擊元件時觸發該事件 |
OnClickCheck | 使用者選中或取消選中專案覈取方塊時觸發該事件 |
OnContextPopup | 當用戶右鍵單擊元件或以其他方式呼叫彈出功能表(例如使用鍵盤)時觸發該事件 |
OnData | 當虛擬列表框需要提供專案的文字時觸發該事件 |
OnDataFind | 當虛擬列表框需要識別給定其文字的專案的索引時觸發該事件 |
OnDataObject | 當虛擬列表框需要提供與項關聯的對象時觸發該事件 |
OnDblClick | 當滑鼠指針懸停在元件上時,使用者雙擊滑鼠左鍵時觸發該事件 |
OnDragDrop | 使用者刪除正在拖動的對象時觸發該事件 |
OnDragOver | 當用戶在元件上拖動對像時觸發該事件 |
OnDrawItem | 在需要重新顯示所有者 - 繪製列表框中的專案時觸發該事件 |
OnEndDock | 當對象的拖動結束后產生該事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnEnter | 在元件接收輸入焦點時觸發該事件 |
OnExit | 當輸入焦點從一個元件轉移到另一個元件時觸發該事件 |
OnKeyDown | 當用戶在元件具有焦點時按任意鍵時觸發該事件 |
OnKeyPress | 按下某個鍵時觸發該事件 |
OnKeyUp | 使用者釋放已按下的鍵時觸發該事件 |
OnMeasureItem | 當應用程式需要在可變高度所有者 - 繪製列表框中重新顯示專案時觸發該事件 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
OnStartDock | 當用戶開始拖動元件時觸發該事件 |
OnStartDrag | 當用戶通過左鍵單擊元件並按住滑鼠按鈕開始拖動元件或其包含的對象時觸發該事件 |
# 11. TSplitter 元件
TSplitter將窗體的客戶區域劃分爲可調整大小的窗格。
在兩個對齊的元件之間向窗體新增拆分器,以允許使用者在運行時調整元件的大小。拆分器位於與窗體的一個邊緣對齊的元件和填充客戶區域其餘部分的元件之間。為拆分器提供與錨定到窗體邊緣的元件相同的對齊方式。當用戶移動分割器時,它會調整錨定元件的大小。反過來,這會更改窗體的客戶區域,並且填充客戶區域其餘部分的元件會相應地調整大小。
該元件將窗體上的每個元件用作單獨的窗格。放置每個窗格后,放置具有相同對齊方式的拆分器,以允許調整窗格大小。放置在窗體上的最後一個窗格應該是客戶端對齊的,以便在調整所有其他窗格大小后自動調整大小以填充剩餘空間。
# 11.1. 屬性
- TSplitter元件主要屬性
屬性 | 功能說明 |
---|---|
Canvas | 提供圖形元件使用的繪圖表面 |
Align | 確定元件在其父元件區內的對齊方式 |
AutoSnap | 確定在使用拆分器使其小於MinSize時是否將相鄰對象的大小調整為零 |
Beveled | 確定分割器是否沿著移動的邊緣傾斜 |
Color | 指定元件的背景顏色 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
Cursor | 指定用於在滑鼠指針進入元件覆蓋的區域時表示滑鼠指針的影象 |
MinSize | 指定拆分器兩側窗格的最小大小(以畫素為單位) |
ParentColor | 元件要使用與其父元件相同的顏色 |
ResizeStyle | 指定移動拆分器的效果 |
Visible | 確定元件是否可見 |
Width | 指定元件或窗體的水平大小(以畫素為單位) |
# 11.1.1. AutoSnap 屬性
property AutoSnap: Boolean;
AutoSnap屬性用於確定相鄰的對象是否調整為0。當該屬性為True時,防止分隔條試圖使用的值小於MinSize時,相鄰的對象調整為0的情況出現;為False時,這樣的試圖調整被簡單地阻止,為MinSize的值時離開相鄰的對象。
# 11.1.2. Beveled 屬性
property Beveled: Boolean;
該屬性用於確定分隔條沿著邊移動時是否有斜曲。True: 3D 斜曲。False:沒有斜面。
# 11.1.3. MinSize 屬性
type NaturalNumber = l..High(Integer);
property MinSize: NaturalNumber;
2
MinSize屬性用於指定分隔條邊的窗體的最小畫素值。設罝這個屬性可確保改變相鄰元件的大小時,分隔條保留最小值。
# 11.1.4. ResizeStyle 屬性
type TResizeStyle = (rsNone, rsLine, rsUpdate, rsPattern);
property ResizeStyle: TResizeStyle;
2
該屬性用於指定分隔條移動的效果。當用戶用滑鼠移動分隔條時,使用這個屬性可確定產生的狀態。
- rsNone: 用滑鼠移動分隔條時無效果。
- rsLine: 釋放滑鼠在目前位罝上畫—條線表示分隔條的新位罝。而分隔條並沒有真正移動,元件也未被調整。
- rsUpdate: 分隔條旁邊的元件以滑鼠目前位置調整大小,分隔條也移到新的位置。
- rsPattern: 釋放滑鼠它,在目前位置上畫一個圖案,用來表示分隔條的新位置。而分隔條並沒有真正移動,元件也未調整。
# 11.2. 事件
- TSplitter元件主要事件列表
事件 | 何時觸發 |
---|---|
OnCanResize | 當用戶嘗試使用滑鼠移動拆分器時發生 |
OnMoved | 在使用者使用拆分器重新連線窗體后發生 |
OnPaint | 分割器需要繪製自身時發生 |
# 12. TStaticText 元件
TStaticText是一個視窗元件,可以在窗體上顯示文字。TStaticText元件的功能類似於TLabel,不同之處在於它來自TWinControl,因此具有視窗控制代碼。當元件的快捷鍵必須屬於視窗元件時(例如,在ActiveX屬性頁上),請使用TStaticText而不是TLabel。
# 12.1. 屬性
- TStaticText元件主要屬性
屬性 | 功能說明 |
---|---|
Align | 確定元件在其父元件區內的對齊方式 |
Alignment | 確定文字在元件中的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
AutoSize | 確定是否自動調整元件大小以容納其文字 |
BevelEdges | 使用該屬性可獲得或設定元件成斜角的邊緣 |
BevelInner | 使用該屬性可指定內斜角是否具有凸、凹或平坦的外觀 |
BevelKind | 使用該屬性可修改斜角的風格,即斜角的傾斜程度 |
BevelOuter | 使用該屬性可指定外斜角是否具有凸、凹或平坦的外觀,外斜角直接顯示在邊框內和內斜角的外面 |
BiDiMode | 為元件指定雙向模式,控制文字的順序,垂直滾動條的位置以及是否改變對齊方式 |
BorderStyle | 確定元件邊框的外觀 |
Caption | 指定標識使用者元件的文字字串 |
Color | 指定元件的背景顏色 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
DoubleBuffered | 確定元件的影象是直接渲染到視窗還是首先繪製到記憶體中的點陣圖 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
FocusControl | 將元件與另一個視窗元件鏈接 |
Font | 確定元件內顯示的文字字型 |
ParentBiDiMode | 獲得或設定元件是否使用其父元件的BiDiMode屬性 |
ParentColor | 元件要使用與其父元件相同的顏色 |
ParentDoubleBuffered | 獲得或設定元件是否使用父元件的DoubleBuffered屬性 |
ParentFont | 確定元件是否使用父元件的Font |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表 |
ShowAccelChar | 啟用加速器字元 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
TabOrder | 確定父元件的切換順序 |
TabStop | 使用該屬性可允許或不允許用Tab訪問元件 |
Transparent | 指定影象的背景是否遮擋影象對像下方的對象 |
Visible | 確定元件是否可見 |
# 12.2. 事件
- TStaticText元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClick | 使用者單擊元件時觸發該事件 |
OnContextPopup | 當用戶右鍵單擊元件或以其他方式呼叫彈出功能表(例如使用鍵盤)時觸發該事件 |
OnDblClick | 當滑鼠指針懸停在元件上時,使用者雙擊滑鼠左鍵時觸發該事件 |
OnDragDrop | 使用者刪除正在拖動的對象時觸發該事件 |
OnDragOver | 當用戶在元件上拖動對像時觸發該事件 |
OnEndDock | 當對象的拖動結束后產生該事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
OnStartDock | 當用戶開始拖動元件時觸發該事件 |
# 13. TControlBar 元件
TControlBar元件用於管理工具欄元件的佈局,可作為工具欄元件的一個停放處。
# 13.1. 屬性
- TControlBar元件主要屬性
屬性 | 功能說明 |
---|---|
Canvas | 指定顯示元件的繪圖表面的TCanvas對像 |
Align | 確定元件在其父元件區內的對齊方式 |
Anchors | 指定元件如何停放在父窗體中 |
AutoDock | 確定控制欄是否臨時停靠拖動客戶端以提供可視反饋 |
AutoDrag | 指定是否可以通過拖動來取消停靠控制帶 |
AutoSize | 指定元件是否自動調整大小以容納其內容 |
BevelEdges | 使用該屬性可獲得或設定元件成斜角的邊緣 |
BevelInner | 使用該屬性可指定內斜角是否具有凸、凹或平坦的外觀 |
BevelKind | 使用該屬性可修改斜角的風格,即斜角的傾斜程度 |
BevelOuter | 使用該屬性可指定外斜角是否具有凸、凹或平坦的外觀,外斜角直接顯示在邊框內和內斜角的外面 |
BevelWidth | 使用該屬性可指定內外斜角的畫素寬度 |
BorderWidth | 使用該屬性可獲得或設定元件的邊框寬度 |
Color | 指定元件的背景顏色 |
Constraints | 使用該屬性可指定元件寬度和高度的最小值和最大值,當其包含最大或最小值時,重新調整元件的大小不能超出該限制 |
CornerEdge | 帶邊緣的轉彎大小 |
DockSite | 使用該屬性可確定元件是否為拖動和停靠操作目標 |
DragCursor | 目前元件受拖動時游標的形狀 |
DragKind | 獲取或設定元件是拖動操作還是拖動/停靠操作 |
DragMode | 控制使用者何時可拖動元件 |
DrawingStyle | 這是DrawingStyle,類TControlBar的成員 |
Enabled | 控制組件是否響應滑鼠,鍵盤和計時器事件 |
GradientDirection | 水平或垂直 |
GradientEndColor | 儲存漸變結束時繪製漸變的顏色 |
GradientStartColor | 儲存漸變在開始時繪製的顏色 |
ParentBackground | 確定元件是否使用父級的主題背景 |
ParentColor | 元件要使用與其父元件相同的顏色 |
ParentCtl3D | 確定元件是否使用父元件的Ctl3D屬性 |
ParentFont | 確定元件是否使用父元件的Font |
ParentShowHint | 確保窗體中的所有元件以統一格式顯示幫助提示 |
Picture | 指定控制欄的圖片 |
PopupMenu | 在元件上單擊游標右鍵時出現的彈出式功能表 |
RowSize | 指定元件欄行的高度 |
RowSnap | 指定元件在停靠時是否捕捉到元件欄的行 |
ShowHint | 確定當滑鼠指針暫時停留在元件上時元件是否顯示「幫助提示」 |
TabOrder | 確定父元件的切換順序 |
TabStop | 使用該屬性可允許或不允許用Tab訪問元件 |
Visible | 確定元件是否可見 |
# 13.1.1. AutoDrag 屬性
property AutoDrag:Boolean;
指定元件控制帶是否可以被拖動。True:控制帶可以拖動。False:控制帶不能拖動。
# 13.1.2. Picture 屬性
property Picture: Tpicture;
該屬性用干指定一個影象作為TControlBar元件的背景圖案。如果影象的尺寸小於TControlBar元件的尺寸,那麼就會自動平鋪。
# 13.1.3. RowSnap 屬性
Property RowSnap:Boolean;
該屬性指「入塢」進來的工具欄或元件將自動與預設的行對齊。
# 13.2. 事件
- TControlBar元件主要事件列表
事件 | 何時觸發 |
---|---|
OnAlignInsertBefore | 在對齊具有自定義對齊的對象時觸發該事件 |
OnAlignPosition | 在對齊具有自定義對齊的對象時觸發該事件 |
OnBandDrag | 使用者在指定元件上啟動拖動操作時觸發該事件 |
OnBandInfo | 控制欄調整波段的停靠位置時觸發該事件 |
OnBandMove | 在控制波段移動時觸發該事件 |
OnBandPaint | 在繪製控制帶時觸發該事件 |
OnBeginBandMove | 這是OnBeginBandMove,類TControlBar的成員。 |
OnCanResize | 嘗試調整元件的大小時觸發該事件 |
OnClick | 使用者單擊元件時觸發該事件 |
OnConstrainedResize | 調整調整大小約束。 |
OnContextPopup | 當用戶右鍵單擊元件或以其他方式呼叫彈出功能表(例如使用鍵盤)時觸發該事件 |
OnDblClick | 當滑鼠指針懸停在元件上時,使用者雙擊滑鼠左鍵時觸發該事件 |
OnDockDrop | 當另一個元件停靠到元件時觸發該事件 |
OnDockOver | 在元件上拖動另一個元件時觸發該事件 |
OnDragDrop | 使用者刪除正在拖動的對象時觸發該事件 |
OnDragOver | 當用戶在元件上拖動對像時觸發該事件 |
OnEndBandMove | 這是OnEndBandMove,類TControlBar的成員。 |
OnEndDock | 當對象的拖動結束后產生該事件 |
OnEndDrag | 當對象的拖動結束后產生該事件 |
OnEnter | 在元件接收輸入焦點時觸發該事件 |
OnExit | 當輸入焦點從一個元件轉移到另一個元件時觸發該事件 |
OnGetSiteInfo | 返回元件的停靠資訊。 |
OnMouseActivate | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕並且父窗體未啟用時觸發該事件 |
OnMouseDown | 當用戶使用滑鼠指針在元件上按下滑鼠按鈕時觸發該事件 |
OnMouseEnter | 使用者將滑鼠移動到元件中時觸發該事件 |
OnMouseLeave | 使用者將滑鼠移出元件之外時觸發該事件 |
OnMouseMove | 當用戶在滑鼠指針懸停在元件上時移動滑鼠指針時觸發該事件 |
OnMouseUp | 當用戶釋放用滑鼠指針在元件上按下的滑鼠按鈕時觸發該事件 |
OnPaint | 在控制條被繪製時觸發該事件 |
OnResize | 在調整元件大小后立即觸發該事件 |
OnStartDock | 當用戶開始拖動元件時觸發該事件 |
OnStartDrag | 當用戶通過左鍵單擊元件並按住滑鼠按鈕開始拖動元件或其包含的對象時觸發該事件 |
OnUnDock | 當應用程式嘗試取消停靠到視窗元件的元件時觸發該事件 |
# 14. TApplicationEvents 元件
TApplicationEvents元件用於擷取應用程式級的事件,使用該元件擷取應用程式對象的所有事件。當在窗體中新增一個 TApplicationEvents 對像時,Application 對像向 TApplicationEvents 對像發送所有事件。因此每個TApplicationEvents對象的事件和Application對象的事件完全相同。
# 14.1. 事件
- TApplicationEvent元件主要事件列表
事件 | 何時觸發 |
---|---|
OnActionExecute | 在呼叫操作的Execute方法且其操作列表尚未處理它時觸發該事件 |
OnActionUpdate | 在呼叫操作的Update方法並且其操作列表尚未處理它時觸發該事件 |
OnActivate | 應用程式變為活動狀態時觸發該事件 |
OnDeactivate | 應用程式變為非活動狀態時觸發該事件 |
OnException | 在應用程式中發生未處理的異常時觸發該事件 |
OnHelp | 在應用程式收到幫助請求時觸發該事件 |
OnHint | 當滑鼠指針移動到可以顯示幫助提示的元件或功能表項時觸發該事件 |
OnIdle | 應用程式變為空閑時觸發該事件 |
OnMessage | 應用程式收到Windows訊息時觸發該事件 |
OnMinimize | 應用程式最小化時觸發該事件 |
OnModalBegin | 這是OnModalBegin,類TApplicationEvents的成員 |
OnModalEnd | 這是OnModalEnd,類TApplicationEvents的成員 |
OnRestore | 在先前最小化的應用程式恢復到其正常大小時觸發該事件 |
OnSettingChange | Windows通知應用程式系統範圍設定已更改時觸發該事件 |
OnShortCut | 在使用者按下某個鍵時(在OnKeyDown事件之前)觸發該事件 |
OnShowHint | 在應用程式即將顯示幫助提示的提示視窗時觸發該事件 |
# 15. TEmailMsg 元件
此控制元件用於設定郵件發送相關的參數,通過控制元件配置的方式可快速完成郵件參數資訊的配置。
# 15.1. 屬性
屬性 | 說明 |
---|---|
Address | 郵件發送的目標地址郵箱 |
Attachments | 附件的地址列表 |
Body | 郵件的正文內容 |
BodyHtml | 郵件的正文是否使用HTML格式解析 |
CCAdressList | 設定抄送的郵箱的列表 |
Host | 郵件伺服器的地址 |
Password | 郵件發件郵箱的密碼 |
Port | 郵件伺服器的通訊埠號,SMTP服務預設埠號為25;如使用STARTTLS協議發送郵件,埠號請設定為587;如使用SSL/TLS協議發送郵件,埠號請設定為465 |
Receipt | 設定是否發送郵件的已讀回執 |
ReceiptAddress | 設定已讀回執的傳輸地址 |
Subject | 設定郵箱的標題 |
Username | 設定使用者名稱 |
# 15.2. 方法
function SendEmail: Boolean;
設定發送郵件,並反饋發送是否成功的資訊。