對話方塊控制元件
# Smart 控制元件使用(對話方塊)
對話方塊控制元件盤中放置Windows下常用的對話方塊樣式,通過對話方塊的使用增強使用者體驗,增強軟體的易用性。
# 1. TOpenDialog 元件
TOpenDialog顯示檔案選擇對話方塊。
TOpenDialog顯示用於選擇和打開檔案的模式Windows對話方塊。在通過呼叫Execute方法啟用對話方塊之前,該對話方塊不會出現在程式運行時。當用戶單擊「打開」時,對話方塊將關閉,所選檔案將儲存在「檔案」屬性中。
# 1.1. 屬性
- TOpenDialog元件主要屬性
屬性 | 功能說明 |
---|---|
FileEditStyle | 確定檔案選擇對話方塊的樣式(過時) |
Files | 所選檔名列表 |
HistoryList | 維護以前選擇的檔案列表(過時) |
DefaultExt | 指定預設副檔名 |
FileName | 指示所選最後一個檔案的名稱和目錄路徑 |
Filter | 確定對話方塊中可用的檔案掩碼(過濾器) |
FilterIndex | 確定對話方塊打開時預設選擇的篩選器 |
InitialDir | 在對話方塊打開時確定目前目錄 |
Options | 確定檔案選擇對話方塊的外觀和行為 |
OptionsEx | 使用其他標誌增加Options屬性,這些標誌確定檔案選擇對話方塊的外觀和行為 |
Title | 指定對話方塊標題欄中的文字 |
# 1.1.1. DefaultExt 屬性
property DefaultExt: String;
DefaultExt屬性用干標識預設的副檔名。
在使用TOpenDialog元件打開檔案時,如果沒有手動為檔案指定副檔名,則由DefaultExt屬性指定其副檔名。
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
OpenDialog1.DefaultExt := 'txt';
if OpenDialog1.Execute(0) then
Edit1.Text := OpenDialog1.FileName;
end
end;
2
3
4
5
6
7
8
9
# 1.1.2. FileEditStyle 屬性
property FileEditStyle: TFileEditStyle;
FileEditStyle屬性用於確定顯示選中的檔名元件的風格。
- fsEdit: 顯示檔名的元件是一個編輯框。
- fsComboBox: 顯示示檔名的紐件是一個組合框。
# 1.1.3. FileName 屬性
property FileName: TFileName;
FileName屬性用於顯示最後選中的檔案的名稱和路徑。在對像觀察器中或程式中設定該屬效能夠設定打開對話方塊時的預設檔名。使用方式請參考DefalutExt屬性。
# 1.1.4. Files 屬性
property Files: TStrings;
Files屬性用於返回被選中檔案的列表。當打開對話方塊的Options屬性中包含ofAllowMultiSelect選項時,使用者能夠同時選擇多個檔案,檔名(包含完整路徑)儲存在Files屬性中。在使用TOpenDialog元件時,經常需要同時選擇多個檔案。使用Files屬效能夠訪問在元件中儲存的每個檔案。
constructor TMyHandler.Create(AOwner: TComponent);
begin
FThis :=TBaseForm(AOwner);
FThis.OpenDialog1.Options := FThis.OpenDialog1.Options + [ofAllowMultiSelect];
end;
{方法實現 MODULE-REAL}
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
if OpenDialog1.Execute(0) then
Memo1.Lines.Assign(OpenDialog1.Files);
end
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 1.1.5. Filter 屬性
property Filter: String;
Filter屬性用於為TOpenDialog元件設定檔案過濾器。「打開」對話方塊的下方包含了一個檔案型別的下拉選單框,可通過該屬性設定出現在該列表框中的檔案型別。格式為檔案型別名稱|過濾的型別
,如文字檔案|*.txt
,也可以指定多個過濾檔案,格式為檔案型別名稱|過濾的型別|...
,如文字檔案|*.txt|點陣圖檔案|*.bmp
。
在設計程式時,有時需要限制使用者選擇的檔案。例如,只允許使用者選擇.bmp或.jpg檔案,在程式中可以使用Filter屬性進行過濾。
constructor TMyHandler.Create(AOwner: TComponent);
begin
FThis :=TBaseForm(AOwner);
FThis.OpenDialog1.Filter := '點陣圖檔案|*.bmp|JPEG檔案|*.jpg';
end;
{方法實現 MODULE-REAL}
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
if OpenDialog1.Execute(0) then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1.1.6. Handle 屬性
property Handle: HWnd;
Handle屬性用於標識對話方塊的控制代碼。在程式中呼叫Execute方法時,使用該屬效能夠訪問對話方塊的Windows控制代碼,可以應用於 OnShow或OnClose事件處理中。當對話方塊關閉時,Handle屬性被設定為0。Handle屬性主要應用干Windows API函式,為其提供控制代碼參數。
# 1.1.7. InitialDir 屬性
property InitialDir: String;
InitialDir屬性用於確定對話方塊的當前目錄。使用該屬效能夠設定打開對話方塊時的預設路徑。 如果沒有設定該屬性或者該屬性指定的目錄不存在,則由全域性變景ForceCurrcntDirectory確定初始化目錄。如果ForceCurrentDirectory為True,則對講框在,前T作目錄處被打開,否則對話方塊在目前工作目錄處或「我的文件」目錄處被打開,這依賴於 Windows的版本。
在設計程式時,一些需要使用的檔案經常被儲存在一個固定的目錄下。在使用TOpenDialog 打開這些檔案時,需要一層層地查詢,如果使用InitialDir屬性將同定的目錄設罝為初始目錄, 則可以省去查詢的麻煩。
FThis.OpenDialogl.InitialDir := 'c:\』;
# 1.1.8. Options 屬性
property Options: TOpenOptions;
Options屬性用於確定對話方塊的外表和行為。以下為Options屬性的型別值。
- ofReadOnly: 只讀覈取方塊被選中。
- ofOverwritePrompt: 當用戶選擇一個已存在的檔案時,彈出一個警告資訊框,詢問是否重寫該檔案。
- ofHideReadOnly: 隱藏「打開」對話方塊中的只讀覈取方塊。
- ofNoChangeDir: 當用戶單擊「OK」按鈕后,重新設罝,前路徑為選擇檔案之前的路徑。
- ofShowHelp: 在對話方塊中顯示「幫助」按鈕。
- ofNoValidate: 對於在「打開」對話方塊中選擇的檔名,不進行檢查,允許非法的檔名。
- ofAllowMultiSelect: 允許使用者同時選擇多個檔案。
- offixtensionDifferent: 在運行時,當選擇的副檔名與DefaultExt屬性不同時自動設定該標記。
- ofPathMustExist: 當用戶選擇的檔案目錄不存在時,彈出一個錯誤資訊框。
- ofFileMustExist: 當用戶選擇一個不存在的檔案時,彈出一個錯誤資訊框。
- ofCreatePrompt: 當用戶選擇一個不存在的檔案時,彈出一個資訊框,詢問是否建立新的檔案。
- ofShareAware: 當檔案共享非法時,忽略共享錯誤,允許使用者選擇檔案。
- ofNoReadOnlyReturn: 當用戶選擇一個只讀檔案時,將產生錯誤訊息。
- ofNoTestFileCreate: 當用戶在一個不能修改的共享網路路托中儲存檔案時,不進行網路檔案保護、磁碟路棧、磁碟空間等檢查。
- ofNoNetworkButton: 在對話方塊中打開一個對映網路驅動對話方塊時,移除「網路」按鈕,該選項只有在Options屬性包含ofOldStyleDialog選項時才可用。
- ofNoLongNamcs: 只遵循檔案命名規則。該選項只有在Options屬性包含ofOldStyleDialog選項時才起作用。
- ofOldStyleDialog: 「打開」對話方塊採用舊的風格。
- ofNoDereferenceLinks: 禁止廢棄Windows的快捷方式,當打開一個快捷方式時,賦給檔名(FileName)快捷方式的路徑和名稱,而不是快捷方式關聯的檔案路徑和名稱。
- ofEnablelncludeNotify: 當用戶在對話方塊中打開一個資料夾時發送CDN_INCLUDEITEM通知訊息。該通知被髮送到資料夾內部的每一項。使用該訊息可以控制資料夾列表項顯示的專案。 該選項只應用在Windows 2000及以後的版本中。
- ofEnableSizing: 該選項只應用在Windows 98及以後的版本中,允許資源管理器風格的對話方塊通過滑鼠或鍵盤調整大小。在預設情況下,「打開」對話方塊允許調整大小,而不考慮 ofEnableSizing選項,在使用者提供了鉤子函式或自定義模板時才需要使用該選項。
- ofDontAddToRecent: 阻止將檔案新增到最近打開的檔案列表中。
- ofForceShowHidden: 保證隱藏檔案在對話方塊中可見。
FThis.OpenDialog1.Options := FThis.OpenDialog1.Options + [ofOldStyleDialog];
# 1.1.9. OptionsEx 屬性
property OptionsEx: TOpenOptionsEx;
OptionsEx屬性用附加的標記增加Options屬性中的選項,確定對話方塊的外觀和行為。使用該屬效能夠進一步定義「打開」對話方塊的行為。
- ofExNoPlacesBar: 使「打開」對話方塊中的位置欄消失。
# 1.1.10. Title 屬性
property Title: String;
Title屬性用於標識對話方塊標題欄中的文字。如果該屬性沒有值,對話方塊標題欄中將顯示 為「打開」。在使用TOpenDialog元件時,更改Title屬性為有意義的值是一個好的習慣。這樣能夠使使用者明白對話方塊的意圖。
constructor TMyHandler.Create(AOwner: TComponent);
begin
FThis :=TBaseForm(AOwner);
FThis.OpenDialog1.Filter := '點陣圖檔案|*.bmp|JPEG檔案|*.jpg';
FThis.OpenDialog1.Title := '載入圖片...';
end;
{方法實現 MODULE-REAL}
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
if OpenDialog1.Execute(0) then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 1.2. 事件
- TOpenDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnCanClose | 單擊打開按鈕或雙擊對話方塊中的檔案關閉時觸發該事件 |
OnClose | 在對話方塊關閉時觸發該事件 |
OnFolderChange | 從對話方塊中打開或關閉目錄時觸發該事件 |
OnIncludeItem | 在對話方塊將檔案新增到檔案列表框之前觸發該事件 |
OnSelectionChange | 更改對話方塊中顯示的檔名時觸發該事件 |
OnShow | 在顯示對話方塊時被觸發 |
OnTypeChange | 更改對話方塊中顯示的檔案型別時觸發該事件 |
# 1.2.1. OnCanClose 事件
OnCanClose事件在使用者單擊「打開」按鈕或雙擊對話方塊中的檔案關閉對話方塊時被觸發。如果單擊「取消」或「關閉」按鈕關閉對話方塊,則不會觸發該事件。參數CanClose用於確定是否關閉對話方塊。在設計程式時,有時需要在使用者選擇檔案後進行一些額外的處理,這時可以在程式中編寫OnCanClose事件處理過程。
{方法實現 MODULE-REAL}
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
if OpenDialog1.Execute(0) then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end
end;
procedure TMyHandler.OpenDialog1CanClose;
begin
ShowMessage('Image Load Success!')
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 1.2.2. OnClose 事件
OnClose事件在對話方塊關閉時發生。如果需要在對話方塊關閉時進行特殊的處理,可以編寫OnClose事件處理過程。
# 1.2.3. OnShow 事件
OnShow事件在顯示對話方塊時觸發。編寫OnShow事件處理過程能夠在顯示對話方塊時進行特殊的處理。
# 1.3. 方法
- TOpenDialog元件主要方法列表
方法 | 功能描述 |
---|---|
Execute | 顯示檔案選擇對話方塊 |
# 1.3.1. Execute 方法
function Execute(HWND: Integer): Boolean; override;
Execute方法用於打開對話方塊。使用者在對話方塊中單擊「打開」按鈕時,該方法返回True, 單擊「取消」按鈕時,則返回False。預設的打開窗體控制代碼為0。
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
if OpenDialog1.Execute(0) then
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
end
end;
2
3
4
5
6
7
8
# 2. TSaveDialog 元件
TSaveDialog顯示「另存為」對話方塊以儲存檔案。
TSaveDialog顯示一個模態Windows對話方塊,用於選擇檔名和儲存檔案。在通過呼叫Execute方法啟用對話方塊之前,該對話方塊不會出現在程式運行時。當用戶單擊「儲存」時,對話方塊將關閉,所選檔名將儲存在FileName屬性中。TSaveDialog類直接從TOpenDialog類派生而來,因此,對於TOpenDialog類的所有屬性、 事件、方法同樣適用於TSaveDialog。如需查詢該元件中的屬性,請參考TOpenDialog屬性。
# 2.1. 屬性
- TSaveDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Ctl3D | 確定對話方塊是否具有三維外觀。 |
DefaultExt | 指定預設副檔名。 |
FileEditStyle | 確定檔案選擇對話方塊的風格。 |
FileName | 指示所選最後一個檔案的名稱和目錄路徑。 |
Filter | 確定對話方塊中可用的檔案掩碼(過濾器)。 |
FilterIndex | 確定對話方塊打開時預設選擇的篩選器。 |
HelpContext | 指定聯機幫助的上下文編號。 |
InitialDir | 在對話方塊打開時確定目前目錄。 |
Name | 指定程式碼中引用的元件的名稱。 |
Options | 確定檔案選擇對話方塊的外觀和行為。 |
OptionsEx | 使用其他標誌增加Options屬性,這些標誌確定檔案選擇對話方塊的外觀和行為。 |
Title | 標識對話方塊標題欄中的文字 |
Tag | 儲存整數值作為元件的一部分。 |
# 2.2. 事件
- TSaveDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnCanClose | 使用者嘗試關閉對話方塊而不點選取消時觸發該事件 |
OnClose | 對話方塊關閉時觸發該事件 |
OnFolderChange | 從對話方塊中打開或關閉目錄時觸發該事件 |
OnIncludeItem | 在對話方塊將檔案新增到檔案列表框之前觸發該事件 |
OnSelectionChange | 更改對話方塊中顯示的檔名時觸發該事件 |
OnShow | 對話方塊打開時觸發該事件 |
OnTypeChange | 更改對話方塊中顯示的檔案型別時觸發該事件 |
# 2.3. 方法
- TSaveDialog元件主要方法列表
方法 | 功能描述 |
---|---|
DefaultHandler | 為元件不能完全處理的所有訊息提供訊息處理,過載這個方法可改變元件的預設訊息處理 |
Execute | 顯示儲存對話方塊 |
# 3. TOpenPictureDialog 元件
TOpenPictureDialog顯示圖形檔案選擇對話方塊。
TOpenPictureDialog顯示用於選擇和打開圖形檔案的Windows對話方塊。該元件與TOpenDialog類似,不同之處在於它包含一個矩形預覽區域。如果TPicture可以讀取所選影象,它將顯示在預覽區域中;支援的檔案型別包括點陣圖(.BMP),圖示(.ICO),Windows圖元檔案(.WMF)和增強的Windows圖元檔案(.EMF)。如果無法顯示所選影象,預覽區域中將顯示「(無)」。
如果使用者選擇了無法識別型別的檔案,TPicture會引發EInvalidGraphic異常。
該元件屬性、方法和事件可參考TOpenDialog元件。
# 3.1. 屬性
- TOpenPictureDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Ctl3D | 確定對話方塊是否具有三維外觀 |
DefaultExt | 指定預設副檔名 |
FileName | 指示所選最後一個檔案的名稱和目錄路徑 |
Filter | 確定對話方塊中可用的檔案掩碼(過濾器) |
FilterIndex | 確定對話方塊打開時預設選擇的篩選器 |
HelpContext | 指定聯機幫助的上下文編號 |
InitialDir | 在對話方塊打開時確定目前目錄 |
Name | 指定程式碼中引用的元件的名稱 |
Options | 確定檔案選擇對話方塊的外觀和行為 |
OptionsEx | 使用其他標誌增加Options屬性,這些標誌確定檔案選擇對話方塊的外觀和行為 |
Tag | 儲存整數值作為元件的一部分 |
Title | 指定對話方塊標題欄中的文字 |
# 3.2. 事件
- TOpenPictureDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnCanClose | 使用者嘗試關閉對話方塊而不點選取消時觸發該事件 |
OnClose | 對話方塊關閉時觸發該事件 |
OnFolderChange | 從對話方塊中打開或關閉目錄時觸發該事件 |
OnIncludeItem | 在對話方塊將檔案新增到檔案列表框之前觸發該事件 |
OnSelectionChange | 更改對話方塊中顯示的檔名時觸發該事件 |
OnShow | 對話方塊打開時觸發該事件 |
OnTypeChange | 更改對話方塊中顯示的檔案型別時觸發該事件 |
# 3.3. 方法
- TOpenPictureDialog元件主要方法列表
方法 | 功能描述 |
---|---|
Execute | 顯示檔案選擇對話方塊 |
# 4. TSavePictureDialog 元件
TSavePictureDialog顯示「另存為」對話方塊以儲存圖形檔案。
TSavePictureDialog顯示Windows對話方塊,用於選擇檔名和儲存圖形檔案。該元件與TSaveDialog類似,不同之處在於它包含一個矩形預覽區域。如果TPicture可以讀取所選影象,它將顯示在預覽區域中;支援的檔案型別包括點陣圖(.BMP),圖示(.ICO),Windows圖元檔案(.WMF)和增強的Windows圖元檔案(.EMF)。如果無法顯示所選影象,預覽區域中將顯示「(無)」。
該元件的屬性、事件、方法請參考TSaveDialog元件。
# 4.1. 屬性
- TSavePictureDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Ctl3D | 確定對話方塊是否具有三維外觀 |
DefaultExt | 指定預設副檔名 |
FileName | 指示所選最後一個檔案的名稱和目錄路徑 |
Filter | 確定對話方塊中可用的檔案掩碼(過濾器) |
Filter | 確定對話方塊中可用的檔案掩碼(過濾器) |
FilterIndex | 確定對話方塊打開時預設選擇的篩選器 |
HelpContext | 指定聯機幫助的上下文編號 |
InitialDir | 在對話方塊打開時確定目前目錄 |
Name | 指定程式碼中引用的元件的名稱 |
Options | 確定檔案選擇對話方塊的外觀和行為 |
OptionsEx | 使用其他標誌增加Options屬性,這些標誌確定檔案選擇對話方塊的外觀和行為 |
Tag | 儲存整數值作為元件的一部分 |
Title | 指定對話方塊標題欄中的文字 |
# 4.2. 事件
- TSavePictureDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnCanClose | 使用者嘗試關閉對話方塊而不點選取消時觸發該事件 |
OnClose | 對話方塊關閉時觸發該事件 |
OnFolderChange | 從對話方塊中打開或關閉目錄時觸發該事件 |
OnIncludeItem | 在對話方塊將檔案新增到檔案列表框之前觸發該事件 |
OnSelectionChange | 更改對話方塊中顯示的檔名時觸發該事件 |
OnShow | 對話方塊打開時觸發該事件 |
OnTypeChange | 更改對話方塊中顯示的檔案型別時觸發該事件 |
# 4.3. 方法
- TSavePictureDialog元件主要方法列表
方法 | 功能描述 |
---|---|
Execute | 這是Execute方法過載的概述,顯示儲存對話方塊 |
# 5. TFontDialog 元件
TFontDialog顯示字型選擇對話方塊。
TFontDialog顯示用於選擇字型的模式Windows對話方塊。在通過呼叫Execute方法啟用對話方塊之前,該對話方塊不會出現在運行時。當用戶選擇字型並單擊「確定」時,對話方塊將關閉,所選字型將儲存在Font屬性中。
# 5.1. 屬性
- TFontDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Device | 指定從中檢索可用字型列表的設備 |
Font | 表示所選字型 |
MaxFontSize | 確定「字型」對話方塊中可用的最大字型大小 |
MinFontSize | 確定「字型」對話方塊中可用的最小字型大小 |
Options | 確定「字型」對話方塊的外觀和行為 |
# 5.1.1. Device 屬性
property Device: TFontDialogDevice;
Device屬性用於標識從哪個設備上獲得字型列表。
- fdScreen: 從螢幕中獲得字型。
- fdPrinter: 從印表機中獲得字型。
- fdBoth: 從螢幕和印表機中獲得字型。
預設值為fdScreen,即從螢幕中獲得字型。使用Device屬效能夠確定使用者想要從哪個設備上獲得可用字型。對於列印程式,例如報表列印,應將Device屬性設定為fdPrinter,以便在列印前為印表機設定合適(目前印表機支援的字型)的字型。
# 5.1.2. Font屬性
property Font: TFont;
Font屬性用於確定使用者選擇的字型屬性。,使用者在字型對話方塊中選擇一種字型,並單擊「確 定」按鈕時,Font屬性值將被設定為使用者選擇的字型屬性。在對像觀察器中設罝Font屬效能夠為字型對話方塊指定預設值。
在程式中使用字型對話方塊,似乎必須使用Font屬性,否則字型對話方塊就沒有什麼意義。在設計程式時,爲了使程式更加靈活,通常在程式中設定一個介面,通過字型對話方塊設定字型。
{方法實現 MODULE-REAL}
procedure TMyHandler.Button1Click;
//點選字型設定按鈕以打開字型設定對話方塊進行字型設定。
begin
with FThis do
begin
if FontDialog1.Execute(0) then
Edit1.Font := FontDialog1.Font;
end
end;
2
3
4
5
6
7
8
9
10
# 5.1.3. MaxFontSize 屬性
property MaxFontSize: Integer;
MaxFontSize屬性用於在「字型」對話方塊中設定最大的字型大小。如果Options屬性中不包含fdLimitSize選項,則MaxFontSize屬性不起作用。在程式中使用「字型」對話方塊設定字型時,如果需要限制字型的大小。例如,限制字型的最大尺寸,可以使用MaxFontSize屬性。
FThis.FontDialogl.MaxFontSize := 14;
FThis.FontDialogl.Options := FThis.FontDialogl .Options + [fdLimitSize];
FThis.FontDialogl.Execute(0);
2
3
# 5.1.4. MinFontSize 屬性
property MinFontSize: Integer;
MinFontSize屬性用於在字型對話方塊中設定最小的字型大小。如果Options屬中不包含 fdLimitSize選項,則MinFontSize屬性不起作用。在程式中使用「字型」對話方塊設定字休時,如果需要限制字型的大小。如,限制字型的最小尺寸,則可以使用MinFontSize屬性。
FThis.FontDialog1.MinFontSize := 10;
FThis.FontDialogl.MaxFontSize := 14;
FThis.FontDialogl.Options := FThis.FontDialogl .Options + [fdLimitSize];
FThis.FontDialogl.Execute(0);
2
3
4
# 5.2. 事件
- TFontDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnApply | 使用者單擊「應用」按鈕時觸發該事件 |
# 5.3. 方法
- TFontDialog元件主要方法列表
方法 | 功能描述 |
---|---|
Execute | 顯示字型對話方塊 |
# 6. TColorDialog 元件
TColorDialog顯示顏色選擇對話方塊。
TColorDialog元件顯示用於選擇顏色的Windows對話方塊。在通過呼叫Execute方法啟用對話方塊之前,該對話方塊不會出現在程式運行時。當用戶選擇顏色並單擊「確定」時,對話方塊將關閉,所選顏色將儲存在「顏色」屬性中。
# 6.1. 屬性
- TColorDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Color | 返回所選顏色 |
Ctl3D | 確定對話方塊是否具有三維外觀 |
CustomColors | 確定對話方塊中可用的自定義顏色 |
Options | 指定對話方塊的選項和預設外觀 |
# 6.1.1. Color 屬性
property Color: TColor;
使用者在「顏色」對話方塊中選擇一個顏色並單擊OK按鈕后,所選顏色變為該屬性的值。為在對話方塊打開時顯示一種預設的顏色,可通過對像觀察器或在程式程式碼中為該屬性賦值。
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
if ColorDialog1.Execute(0)= true then
Edit1.Color := ColorDialog1.Color;
end
end;
2
3
4
5
6
7
8
# 6.1.2. CustomColors 屬性
property CustomColors: TStrings;
該屬性用於確定在對話方塊中可使用的自定義顏色(可設定為16種,從ColorA到ColorP), 每種自定顏色以ColorX=HexValue
格式的字串表示。
# 6.1.3. Options 屬性
property Options: TColorDialogOptions;
使用該屬性可設定顏色對話方塊的外觀和功能。
值 | 說明 |
---|---|
cdFussOpen | 打開對話方塊時,顯示自定義顏色選項 |
cdPreventFullOpen | 在對話方塊中禁止使用和設定自定義額色(Define Custom Colors)按鈕,使使用者不能定義新顏色 |
cdShowHelp | 在對話方塊中新增幫助(Help)按鈕 |
cdSolidCoIor | 使用Windows最接近的純色作為選樣的顏色 |
cdAnyColor | 允許使用者選擇非純色 |
# 6.2. 事件
- TColorDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClose | 關閉對話方塊時觸發該事件 |
OnShow | 打開對話方塊時觸發該事件 |
# 6.3. 方法
- TColorDialog元件主要方法列表
方法 | 功能描述 |
---|---|
Execute | 顯示顏色選擇對話方塊 |
# 7. TPrintDialog 元件
TPrintDialog顯示「列印」對話方塊。
TPrintDialog元件顯示標準Windows對話方塊,用於將作業發送到印表機。該對話方塊是模態的,在通過呼叫Execute方法啟用之前不會在程式運行時出現。
一個簡易的列印方式實現如下:
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
if PrintDialog1.Execute(0) then
RichEdit1.Print('');
end
end;
2
3
4
5
6
7
8
# 7.1. 屬性
- TPrintDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Collate | 指示是否選中「逐份列印」覈取方塊 |
Copies | 表示在「列印」對話方塊中選擇的副本數 |
FromPage | 指示要開始列印作業的頁面 |
MaxPage | 確定使用者在指定要列印的頁面時可以輸入的最大頁碼 |
MinPage | 確定使用者在指定要列印的頁面時可以輸入的最小頁碼 |
Options | 確定「列印」對話方塊的外觀和行為 |
PrintRange | 指示在對話方塊中選擇的打印範圍的型別 |
PrintToFile | 指示是否選中「列印到檔案」覈取方塊 |
ToPage | 指示要結束列印作業的頁面 |
# 7.1.1. Collate 屬性
property Collate: Boolean;
Collate屬性用於確定列印工作是否自動分頁。將Collate屬性設定為True,選中自動分頁覈取方塊。
# 7.1.2. Copies 屬性
property Copies: Integer;
Copies屬性用於確定印表機的列印份數。在程式中進行列印設定時,可以通過Copies屬性設定列印份數。
# 7.1.3. FromPage 屬性
property FromPage: Integer;
FromPage屬性用於設定列印作業的起始頁。在「列印」對話方塊中,使用者可以在「頁碼範圍」 選項中的「從」編輯框中設定列印的起始頁。
# 7.1.4. MaxPage 屬性
property MaxPage: Integer;
MaxPage屬性用於設定列印頁數的最大範圍。如果使用者設定的打印範圍超山了MaxPage, 則會出現一個錯誤提示資訊框。當Options屬性中包含poPageNums選項時,如果MaxPage小於MinPage,則不會打開「列印」對話方塊。
# 7.1.5. MinPage 屬性
property MinPage: Integer;
MinPage屬性用於設定列印頁數的最小範圍。如果使用者設定的打印範圍小於MinPage,則會出現一個錯誤提示資訊框。當Options屬性中包含poPageNums選項時,如果MinPage大於MaxPage,則不會打開「列印」對話方塊。
# 7.1.6. PrintRange 屬性
property PrintRange: TPrintRange;
PrintRange屬性用於設定打印範圍的型別。PrintRange屬性的可選值如下。
- prAllPages: 列印對話方塊中的所有單選按鈕可用。
- prSelection: 列印對話方塊中的「選定範圍」單選按鈕被選中。
- prPageNums: 列印對話方塊中的「頁碼範圍」單選按鈕被選中。
在進行列印設定時,如果需要設定打印範圍,則可以使用PrintRange屬性。
# 7.1.7. PrintToFile 屬性
property PrintToFile: Boolean;
PrintToFile屬性用於確定「列印到檔案」覈取方塊是否被選中。
# 7.1.8. ToPage 屬性
property ToPage: Integer;
ToPage屬性用於確定打印範圍的結束頁。
# 7.2. 事件
- TPrintDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClose | 關閉對話方塊時觸發該事件 |
OnShow | 打開對話方塊時觸發該事件 |
# 7.3. 方法
- TPrintDialog元件主要方法列表
方法 | 功能描述 |
---|---|
Execute | 顯示列印對話方塊 |
# 8. TPrinterSetupDialog 元件
TPrinterSetupDialog顯示用於配置印表機的列印設定對話方塊。
TPrinterSetupDialog顯示用於配置印表機的模式Windows對話方塊。對話方塊的內容因所選的印表機驅動程式而異。
在通過呼叫Execute方法啟用對話方塊之前,該對話方塊不會出現在程式運行時。
該元件的一個典型實體如下:
# 8.1. 屬性
- TPrinterSetupDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Ctl3D | 確定對話方塊是否具有三維外觀 |
HelpContext | 指定聯機幫助的上下文編號 |
Name | 指定程式碼中引用的元件的名稱 |
Tag | 儲存整數值作為元件的一部分 |
# 8.2. 事件
- TPrinterSetupDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClose | 關閉對話方塊時觸發該事件 |
OnShow | 打開對話方塊時觸發該事件 |
# 8.3. 方法
- TPrinterSetupDialog元件主要方法列表
方法 | 功能描述 |
---|---|
Execute | 顯示列印配置對話方塊 |
# 9. TFindDialog 元件
TFindDialog顯示「查詢」對話方塊,允許使用者搜索檔案中的文字。
TFindDialog元件顯示一個無模式Windows對話方塊,提示使用者輸入搜索字串。在通過呼叫Execute方法啟用對話方塊之前,該對話方塊不會出現在程式運行時。
# 9.1. 屬性
- TFindDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Left | 確定「查詢」對話方塊左上角的X座標(水平位置) |
Position | 確定螢幕上「查詢」對話方塊的位置 |
Top | 確定「查詢」對話方塊左上角的Y座標(垂直位置) |
FindText | 包含搜索字串 |
Options | 確定「查詢」對話方塊的外觀和行為 |
# 9.1.1. FindText 屬性
property FindText: String;
該屬性包含使用者需要查詢的文字字串,使用者單擊Find Next按鈕后,對話方塊的編輯框內的文字被自動分配給該屬性。為在對話方塊的編輯框內顯示預設的文字字串,可通過對像觀察器或在程式程式碼中為該屬性賦值。
# 9.2. 事件
- TFindDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnFind | 使用者單擊「查詢下一個」按鈕時觸發該事件 |
# 9.3. 方法
- TFindDialog元件主要方法列表
方法 | 功能描述 |
---|---|
CloseDialog | 關閉查詢對話方塊 |
Execute | 顯示打開查詢對話方塊 |
procedure TMyHandler.FindDialog1Find;
var
FoundAt : LongInt;
StartPos, ToEnd: Integer;
begin
with FThis.RichEdit1 do
begin
if SelLength <> 0 then
StartPos := SelStart + SelLength
else
StartPos := 0;
ToEnd := Length(FThis.Edit1.Text) - StartPos;
FoundAt := FindText(FThis.FindDialog1.FindText,StartPos,ToEnd,[stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FThis.FindDialog1.FindText);
end;
end;
end;
procedure TMyHandler.Button1Click;
begin
with FThis do
begin
FindDialog1.Execute(0);
end
end;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 10. TReplaceDialog 元件
TReplaceDialog顯示搜索和替換對話方塊。
TReplaceDialog是TFindDialog的特殊版本,它提示使用者輸入搜索字串和替換字串。與「查詢」對話方塊類似,「替換」對話方塊是無模式的,並且在呼叫Execute方法啟用之前不會在程式運行時出現。
# 10.1. 屬性
- TReplaceDialog元件主要屬性
屬性 | 功能說明 |
---|---|
Ctl3D | 確定對話方塊是否具有三維外觀 |
FindText | 包含搜索字串 |
HelpContext | 指定聯機幫助的上下文編號 |
Name | 指定程式碼中引用的元件的名稱 |
Options | 確定「查詢」對話方塊的外觀和行為 |
ReplaceText | 包含應替換FindText的文字 |
Tag | 儲存整數值作為元件的一部分 |
# 10.2. 事件
- TReplaceDialog元件主要事件列表
事件 | 何時觸發 |
---|---|
OnClose | 對話方塊關閉時發生 |
OnFind | 使用者單擊「查詢下一個」按鈕時發生 |
OnReplace | 使用者單擊「替換」或「全部替換」按鈕時發生 |
OnShow | 對話方塊打開時發生 |
# 10.3. 方法
- TReplaceDialog元件主要方法列表
方法 | 功能描述 |
---|---|
CloseDialog | 關閉查詢替換對話方塊 |
Execute | 顯示打開查詢替換對話方塊 |