几种vcl构件的用法
几节介绍这些公用对话框,但Print和Printer Setup对话框要留到后面介绍打印时再介绍。
8.8.1Execute方法公用对话框的一个共同之处是都有Execute方法,用于生成和显示对话框。Find和Replace对话框是无模态对话框,其余都是模态对话框。用户单击OK按钮、双击文件名(对于文件对话框)或按键盘上的Enter键时,Execute方法返回true。用户单击Cancel按钮、按Esc键或用系统关闭框关闭对话框时,Execute方法返回false。公用对话框通常实现如下:if(OpenDialog>Execute()) { // user pressed OK so use the filenameMemo>Lines>LoadFromFile(OpenDialog>FileName);}return;这个代码显示File Open对话框并向用户请求文件名。如果用户单击OK按钮,则执行if块内的代码,文件装入Memo构件。如果不按OK按钮,则忽略if块内的代码,不发生动作。说明 上例中的代码是C++快捷语法的又一个例子。第一行:if(OpenDialog>Execute()) {等于if(OpenDialog>Execute() == true) {两种方法都可以,但第一种更好。 File Open和File Save对话框File Open和File Save对话框有几个共同属性。File Open对话框让用户打开应用程序中的文件,包装成OpenDialog构件。File Save对话框用于从用户那里取得文件名以保存文件,也用作Save As对话框。File Save对话框包装成SaveDialog构件。 DefaultExt属性DefaultExt属性设置对话框使用的缺省扩展名。缺省扩展名是用户不提供扩展名时自动添加到文件名后面的扩展名。FileName属性FileName属性是最明显的文件对话框属性,用于放用户所选文件的文本。如果文件对话框初始显示时要让文件名出现在文件对话框的编辑部分,则要在调用文件对话框时先设置这个属性。用户单击OK关闭文件对话框后,这个属性中包含所选文件的完整路径和文件名。Files属性Files属性是只读属性,是启用多文件选择时包含所选文件清单的TStrings实例。Filter属性Filter属性包含一列用户可以选择的文件类型清单。文件类型放在文件对话框的File of type:组合框中。可以设置Filter属性以反映应用程序所针对的文件类型。例如,简单文字编辑程序的过滤器可以设置成显示文件类型.TXT、.INI和.LOG等。过滤器可以在设计时通过Filter Editor对话框设置。为了打开FilterEditor对话框,双击对象观察器FIlter属性旁边的Value列。Filter Name列中包含文件类型的文本说明,Filter列中是用于显示该类型文件的实际文件掩膜。尽管可以直接在对象观察器Value列中输入过滤器字串,但使用Filter Editor对话框更方便。如果只用一个过滤器,则可以直接在value列中输入Filter属性,说明和过滤器之间管道分开。例如,为了用一个过滤器对付所有文件类型,可以输入如下过滤器:All Files (*.*)| *.*FilterIndex属性FilterIndex属性设置对话框初始显示时使用的过滤器,但索引不是以0为基数,而是从1开始。InitialDir属性InitialDir属性指定文件对话框显示时作为初始目录的目录。如果没有指定InitialDir属性值,则采用Windows确定的当前目录。提示 一流的Windows程序能跟踪打开文件和保存文件时使用的目录。这个信息通常放在注册表中。显示File Open或File Save对话框之前,将InitialDir属性设置为用户上次使用的目录。用户选择文件之后,可以更新注册表以反映新的目录。 Options属性Options属性控制使用文件对话框的方法。选项很多,最常见的有是否允许生成新文件或目录、对话框中是否显示Help按钮、是否允许长文件名、是否允许选择多个文件,等等。详见C++ Builder中关于OpenDialog和SaveDialog构件的联机帮助。Title属性Title属性设置或读取文件对话框的标题。不指定标题时,OpenDialog缺省用Open,SaveDialog构件缺省用Save。提示 Save As对话框就是Title属 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |