对话框控件
# 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 | 显示打开查找替换对话框 |