在某些情况下,您可能不知道表单对象的确切类类型。您可能只有带有表单类名称的字符串变量,例如“TMyForm”。
请注意,Application.CreateForm()过程的第一个参数需要TFormClass类型的变量。如果可以提供TFormClass类型变量(从字符串),则可以从其名称创建表单。
函数的作用是:从字符串中查找类类型。搜索将遍历所有注册的类。要注册类,可以发出RegisterClass()过程。当FindClass函数返回TPersistentClass值时,将其强制转换为TFormClass,并将创建一个新的TForm对象。
在MainForm的OnCreate事件中注册类:
procedure TMainForm.CreateFormButtonClick( Sender: TObject);var s : string;begin s := ListBox1.Items[ListBox1.ItemIndex]; CreateFormFromName(s);end;单击按钮后,查找所选表单的类型名称,并调用自定义CreateFormFromName过程:
procedure CreateFormFromName( const FormName : string);var fc : TFormClass; f : TForm;begin fc := TFormClass(FindClass(FormName)); f := fc.Create(Application); f.Show;end; (* CreateFormFromName *)如果在列表框中选择了第一项,“s”变量将保存“TFirstForm”字符串值。CreateFormFromName将创建TFirstForm表单的实例。
...单项添加到菜单时分配的标记值。 tmenuitem中的自定义字符串 在实际应用程序中,您可能需要更大的灵活性。假设每个项目将“代表”一个网页-需要一个字符串值来保存网页的URL。当用户选择此项时,您可以打开默认web浏览...
...索DelphiIDE的主要部分和工具。 “你好,世界!” 通过创建一个简单的项目、编写代码、编译和运行项目,开始您对Delphi应用程序开发的概述。然后,通过创建第二个简单的Delphi应用程序来了解属性、事件和Delphi Pascal—使您...
简而言之,Delphi项目只是组成由Delphi创建的应用程序的文件集合。DPR是用于Delphi项目文件格式的文件扩展名,用于存储与项目相关的所有文件。这包括其他Delphi文件类型,如表单文件(DFM)和单元源文件(.PASs)。 由于Delphi...
...内容,需要在字段的OnGetText事件中附加一行简单的代码。创建OnGetText事件处理程序的最简单方法是在设计时使用字段编辑器为备注字段创建持久字段组件: 将TDataset子体组件(TTable、TQuery、TADOTable、TADOQuery…)连接到“TestTable...
...的编程知识中占有特殊的位置。 德尔福项目 当我们创建一个Delphi应用程序时,我们可以从一个空白项目、一个现有项目或Delphi的一个应用程序或表单模板开始。项目由创建目标应用程序所需的所有文件组成。 选择“查看...
...简化了使用TCP/IP和相关协议与其他系统通信的应用程序的创建。使用套接字,您可以通过与其他机器的连接进行读写,而无需担心底层网络软件的细节。 Delphi组件工具栏上的internet调色板承载TServerSocket和TClientSocket组件以及TcpCl...
...art按钮的右侧)。 我们把它放在托盘上吧 幸运的是,创建一个在系统托盘中运行的应用程序非常简单——只需要一个(API)函数Shell\u NotifyIcon即可完成任务。 该函数在ShellAPI单元中定义,需要两个参数。第一个是一个标志...
...计算机的速度。 02 2006年 何时在delphi应用程序中创建表单 假设您要设计一个包含主窗体和两个附加(模态)窗体的程序。通常,根据您的Delphi版本,Delphi将把表单插入到项目单元(DPR文件)中,并包含一行,用于在...
...程序的情况,我们怎样才能移动这样的窗口呢?事实上,创建带有非标准标题栏甚至非矩形窗体的窗口是可能的。在这种情况下,Windows如何知道窗口的边框和角在哪里? wm_nchittest windows消息 Windows操作系统在很大程度上依赖...
...Attr,文件的属性如上所述。。Name包含一个表示文件名的字符串,不包含路径信息。找到的文件的大小(字节)。。时间将文件的修改日期和时间存储为文件日期。。FindData包含其他信息,如文件创建时间、上次访问时间以及长...