⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 047.htm

📁 delphi教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<p>end;</p>
<p> </p>
<p></font><font face="宋体" lang="ZH-CN" size="3"> 现在你能注册</font><font
face="Arial" size="3">TNewComponent</font><font face="宋体" lang="ZH-CN" size="3">。但是新部件与</font><font
face="Arial" size="3">TComponent</font><font face="宋体" lang="ZH-CN" size="3">没什么不同,你只创建了自己部件的框架。</p>
<p>  ⑶</font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN"
size="3">注册部件</p>
<p>  注册部件是为了告诉</font><font face="Arial" size="3">Delphi</font><font
face="宋体" lang="ZH-CN" size="3">什么部件被加入部件库和加入</font><font
face="Arial" size="3">Component Palette</font><font face="宋体" lang="ZH-CN" size="3">的哪一页。</p>
<p>  为了注册一个部件:</p>
<p>  ①</font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN"
size="3">在部件单元的</font><font face="Arial" size="3">interface</font><font
face="宋体" lang="ZH-CN" size="3">部分增加一个</font><font face="Arial" size="3">Register</font><font
face="宋体" lang="ZH-CN" size="3">过程。</font><font face="Arial" size="3">Register</font><font
face="宋体" lang="ZH-CN" size="3">不带任何参数,因此声明很简单:</p>
<p> </font><font face="Arial" size="3"></p>
<p>procedure Register;</p>
<p> </p>
<p></font><font face="宋体" lang="ZH-CN" size="3">如果你在已有部件的库单元中增加部件,因为已有</font><font
face="Arial" size="3">Register </font><font face="宋体" lang="ZH-CN" size="3">过程,因此不须要修改声明。</p>
<p>  ②</font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN"
size="3">在库单位的</font><font face="Arial" size="3">implementation</font><font
face="宋体" lang="ZH-CN" size="3">部件编写</font><font face="Arial" size="3">Register</font><font
face="宋体" lang="ZH-CN" size="3">过程为每一个你想注册的部件调用过程</font><font
face="Arial" size="3">RegisterComponents</font><font face="宋体" lang="ZH-CN" size="3">,过程</font><font
face="Arial" size="3">RegisterComponents</font><font face="宋体" lang="ZH-CN" size="3">带两个参数:</font><font
face="Arial" size="3">Component Palette</font><font face="宋体" lang="ZH-CN" size="3">的页名和部件类型集。例如,注册名为</font><font
face="Arial" size="3">TNewComponent</font><font face="宋体" lang="ZH-CN" size="3">的部件,并将其置于</font><font
face="Arial" size="3">Component Palette</font><font face="宋体" lang="ZH-CN" size="3">的</font><font
face="Arial" size="3">Samples</font><font face="宋体" lang="ZH-CN" size="3">页,在程序中使用下列过程:</p>
<p> </font><font face="Arial" size="3"></p>
<p>procedure Register;</p>
<p>begin</p>
<p>RegisterComponents('Samples', [TNewComponent]);</p>
<p>end; </p>
<p> </p>
<p></font><font face="宋体" lang="ZH-CN" size="3"> 一旦注册完毕,</font><font
face="Arial" size="3">Delphi</font><font face="宋体" lang="ZH-CN" size="3">自动将部件图标显示在</font><font
face="Arial" size="3">Component Palette</font><font face="宋体" lang="ZH-CN" size="3">上。</p>
<p>  </font><font face="Arial" size="3">2. </font><font face="宋体" lang="ZH-CN"
size="3">使用</font><font face="Arial" size="3">Component Expert</font><font
face="宋体" lang="ZH-CN" size="3">(部件专家)</p>
<p>  你能使用</font><font face="Arial" size="3">Component Expert</font><font
face="宋体" lang="ZH-CN" size="3">创建新部件。使用</font><font face="Arial"
size="3">Component Expert</font><font face="宋体" lang="ZH-CN" size="3">简化了创建新部件最初阶段的工作,因为你只需描述三件事:</p>
<p> </font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">●</font><font
face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">新部件的名字</p>
<p> </font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">●</font><font
face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">祖先类型</p>
<p> </font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">●</font><font
face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">新部件要加入的</font><font
face="Arial" size="3">Component Palette</font><font face="宋体" lang="ZH-CN" size="3">页名</p>
<p> </p>
<p> </font><font face="Arial" size="3"> Component Expert</font><font face="宋体"
lang="ZH-CN" size="3">执行了手工方式的相同工作:</p>
<p>  ●</font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN"
size="3">建立新的库单元</font><font face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3"> ●</font><font face="Arial"
size="3"> </font><font face="宋体" lang="ZH-CN" size="3">继承得到新部件对象</p>
<p> </font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">●</font><font
face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">注册部件</p>
<p> </p>
<p>  但</font><font face="Arial" size="3">Component Expert</font><font face="宋体"
lang="ZH-CN" size="3">不能在已有单元中增加部件。</font><font face="Arial"
size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">可选择</font><font face="Arial"
size="3">File/New... </font><font face="宋体" lang="ZH-CN" size="3">,在</font><font
face="Arial" size="3">New Items</font><font face="宋体" lang="ZH-CN" size="3">对话框中选择</font><font
face="Arial" size="3">Component</font><font face="宋体" lang="ZH-CN" size="3">,就打开</font><font
face="Arial" size="3">Component Expert</font><font face="宋体" lang="ZH-CN" size="3">对话框。 </p>
<p>  填完</font><font face="Arial" size="3">Component Expert</font><font
face="宋体" lang="ZH-CN" size="3">对话框的每一个域后,选择</font><font
face="Arial" size="3">OK</font><font face="宋体" lang="ZH-CN" size="3">。</font><font
face="Arial" size="3">Delphi</font><font face="宋体" lang="ZH-CN" size="3">建立包括新部件和</font><font
face="Arial" size="3">Register</font><font face="宋体" lang="ZH-CN" size="3">过程的库单元,并自动增加</font><font
face="Arial" size="3">uses</font><font face="宋体" lang="ZH-CN" size="3">语句。</p>
<p>  你应该立刻保存库单元,并给予其有意义的名字。</p>
<p> </font><font face="Arial" size="3"></p>
<p>19.2.1.4. </font><font face="宋体" lang="ZH-CN" size="3">测试未安装的部件</p>
<p> </p>
<p>  在将新部件安装在</font><font face="Arial" size="3">Component Palette</font><font
face="宋体" lang="ZH-CN" size="3">之前就能测试部件运行时的动作。这对于调试新部件特别有用,而且还能用同样的技术测试任意部件,无论该部件是否出现在</font><font
face="Arial" size="3">Component Palette</font><font face="宋体" lang="ZH-CN" size="3">上。</p>
<p> </font><font face="Arial" size="3"> </font><font face="宋体" lang="ZH-CN" size="3">从本质上说,你通过模仿用户将部件放置在窗体中的</font><font
face="Arial" size="3">Delphi</font><font face="宋体" lang="ZH-CN" size="3">的动作来测试一个未安装的部件。</p>
<p>  可按下列步骤来测试未安装的部件</p>
<p>  </font><font face="Arial" size="3">1. </font><font face="宋体" lang="ZH-CN"
size="3">在窗体单元的</font><font face="Arial" size="3">uses</font><font
face="宋体" lang="ZH-CN" size="3">语句中加入部件所在单元的名字</font><font
face="Arial" size="3"></p>
<p>2. </font><font face="宋体" lang="ZH-CN" size="3">在窗体中增加一个对象域来表示部件</p>
<p>  这是自己增加部件和</font><font face="Arial" size="3">Delphi</font><font
face="宋体" lang="ZH-CN" size="3">增加部件的方法的主要不同点。</p>
<p>  你将对象域加在窗体类型声明底部的</font><font face="Arial"
size="3">public</font><font face="宋体" lang="ZH-CN" size="3">部分。</font><font
face="Arial" size="3">Delphi</font><font face="宋体" lang="ZH-CN" size="3">则会将对象域加在底部声明的上面。</p>
<p>  你不能将域加在</font><font face="Arial" size="3">Delphi</font><font
face="宋体" lang="ZH-CN" size="3">管理的窗体类型的声明的上部。在这一部分声明的对象域将相应在存储在</font><font
face="Arial" size="3">DFM</font><font face="宋体" lang="ZH-CN" size="3">文件中。增加不在窗体中存在的部件名将产生</font><font
face="Arial" size="3">DFM</font><font face="宋体" lang="ZH-CN" size="3">文件无效的错误。</font><font
face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3"> </font><font face="Arial" size="3">3.
</font><font face="宋体" lang="ZH-CN" size="3">附上窗体的</font><font face="Arial"
size="3">OnCreate</font><font face="宋体" lang="ZH-CN" size="3">事件处理过程</p>
<p>  </font><font face="Arial" size="3">4. </font><font face="宋体" lang="ZH-CN"
size="3">在窗体的</font><font face="Arial" size="3">OnCreate</font><font face="宋体"
lang="ZH-CN" size="3">处理过程中构造该部件</p>
<p>  当调用部件的构造过程时,必须传递</font><font face="Arial"
size="3">Owner</font><font face="宋体" lang="ZH-CN" size="3">参数(由</font><font
face="Arial" size="3">Owner</font><font face="宋体" lang="ZH-CN" size="3">负责析构该部件)一般说来总是将</font><font
face="Arial" size="3">Self</font><font face="宋体" lang="ZH-CN" size="3">作为</font><font
face="Arial" size="3">Owner</font><font face="宋体" lang="ZH-CN" size="3">的传入参数。在</font><font
face="Arial" size="3">OnCreate</font><font face="宋体" lang="ZH-CN" size="3">中,</font><font
face="Arial" size="3">Self</font><font face="宋体" lang="ZH-CN" size="3">是指窗体。</font><font
face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3"> </font><font face="Arial" size="3">
5. </font><font face="宋体" lang="ZH-CN" size="3">给</font><font face="Arial" size="3">Component</font><font
face="宋体" lang="ZH-CN" size="3">的</font><font face="Arial" size="3">Parent</font><font
face="宋体" lang="ZH-CN" size="3">属性赋值</p>
<p>  设置</font><font face="Arial" size="3">Parent</font><font face="宋体"
lang="ZH-CN" size="3">属性往往是构造部件后要做的第一件事时。</font><font
face="Arial" size="3">Parent</font><font face="宋体" lang="ZH-CN" size="3">在形式上包含部件,一般来说</font><font
face="Arial" size="3">Parent</font><font face="宋体" lang="ZH-CN" size="3">是窗体或者</font><font
face="Arial" size="3">GoupBox</font><font face="宋体" lang="ZH-CN" size="3">、</font><font
face="Arial" size="3">Panel</font><font face="宋体" lang="ZH-CN" size="3">。通常给</font><font
face="Arial" size="3">Parent</font><font face="宋体" lang="ZH-CN" size="3">赋与</font><font
face="Arial" size="3">Self</font><font face="宋体" lang="ZH-CN" size="3">,即窗体。在设置部件的其它属性之前最好先给</font><font
face="Arial" size="3">Parent</font><font face="宋体" lang="ZH-CN" size="3">赋值。</font><font
face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3"> </font><font face="Arial" size="3">
6. </font><font face="宋体" lang="ZH-CN" size="3">按需要给部件的其它属性赋值</p>
<p>  假设你想测试名为</font><font face="Arial" size="3">TNewComponent</font><font
face="宋体" lang="ZH-CN" size="3">类型的新部件,库单元名为</font><font
face="Arial" size="3">NewTest</font><font face="宋体" lang="ZH-CN" size="3">。窗体库单元应该是这样的;</p>
<p> </p>
<p></font><font face="Arial" size="3">unit Unitl;</p>
<p> </p>
<p>interface</p>
<p> </p>
<p>uses SysUtils, Windows, Messages, Classes, Grophics, Controls, Forms, Dialogs, </p>
<p>Newtest; </p>
<p>type</p>
<p>Tforml = class(TForm)</p>
<p>procedure FormCreate(Sender: TObject);</p>
<p>private</p>
<p>{ private</font><font face="宋体" lang="ZH-CN" size="3">申</font><font face="Arial"
size="3"> </font><font face="宋体" lang="ZH-CN" size="3">明</font><font face="Arial"
size="3"> }</p>
<p>public</p>
<p>{ public</font><font face="宋体" lang="ZH-CN" size="3">申</font><font face="Arial"
size="3"> </font><font face="宋体" lang="ZH-CN" size="3">明</font><font face="Arial"
size="3"> }</p>
<p>NewComponent: TNewComponent;</p>
<p>end; </p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -