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

📄 048.htm

📁 delphi教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<p>  ⑴</font><font size="3"> </font><font face="宋体" lang="ZH-CN" size="3">继承属性编辑器对象</p>
<p>  </font><font face="Arial" size="3">DsgnIntf</font><font face="宋体"
lang="ZH-CN" size="3">库单元中定义了几种属性编辑器。它们都是从</font><font
face="Arial" size="3">TPropertyEditor</font><font face="宋体" lang="ZH-CN" size="3">继承而来。当创建属性编辑器时,可以直接从</font><font
face="Arial" size="3">TPropertyEditor</font><font face="宋体" lang="ZH-CN" size="3">中继承或从表中的任一属性编辑器中继承。</p>
<p> </p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">表</font><font face="Arial" size="3">19.4
</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"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">  类型</font><font 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"></p>
<p>TOrdinalProperty</font><font face="宋体" lang="ZH-CN" size="3"> </font><font
size="3"> </font><font face="宋体" lang="ZH-CN" size="3"> </font><font size="3"> </font><font
face="宋体" lang="ZH-CN" size="3">所有有序的属性(整数、字符、枚举)</font><font
face="Arial" size="3"></p>
<p>TIntegerProperty</font><font face="宋体" lang="ZH-CN" size="3"> </font><font
size="3"> </font><font face="宋体" lang="ZH-CN" size="3"> </font><font size="3"> </font><font
face="宋体" lang="ZH-CN" size="3">所有整型,包括子界类型</font><font
face="Arial" size="3"></p>
<p>TCharProperty</font><font face="宋体" lang="ZH-CN" size="3">  </font><font
size="3"> </font><font face="宋体" lang="ZH-CN" size="3"> </font><font size="3"> </font><font
face="宋体" lang="ZH-CN" size="3">字符类型或字符子集</font><font face="Arial"
size="3"></p>
<p>TEnumProperty</font><font face="宋体" lang="ZH-CN" size="3">  </font><font
size="3"> </font><font face="宋体" lang="ZH-CN" size="3">任何枚举类型</font><font
face="Arial" size="3"></p>
<p>TFloatProperty</font><font face="宋体" lang="ZH-CN" size="3">  </font><font
size="3"> </font><font face="宋体" lang="ZH-CN" size="3">所有浮点数</font><font
face="Arial" size="3"></p>
<p>TStringProperty</font><font face="宋体" lang="ZH-CN" size="3">  </font><font
size="3"> </font><font face="宋体" lang="ZH-CN" size="3">字符串,包括定长的字符串</font><font
face="Arial" size="3"></p>
<p>TSetElementProperty </font><font face="宋体" lang="ZH-CN" size="3">集合中的独立元素</font><font
face="Arial" size="3"></p>
<p>TSetElementProperty </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"></p>
<p>TClassProperty </font><font face="宋体" lang="ZH-CN" size="3">对象,显示对象名,并允许对象属性的展开</font><font
face="Arial" size="3"></p>
<p>TMethodPropevty </font><font face="宋体" lang="ZH-CN" size="3">方法指针,主要指事件</font><font
face="Arial" size="3"></p>
<p>TComponentProperty </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"></p>
<p>TColorProperty</font><font face="宋体" lang="ZH-CN" size="3">   </font><font
size="3"> </font><font face="宋体" lang="ZH-CN" size="3">部件颜色,显示颜色常量,否则显示十六进制数</font><font
face="Arial" size="3"></p>
<p>TFontNameProperty </font><font face="宋体" lang="ZH-CN" size="3">字体名称</font><font
face="Arial" size="3"></p>
<p>TFontProperty </font><font face="宋体" lang="ZH-CN" size="3">字体,允许展开字体的属性或弹出字体对话框</font><font
face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<p> </p>
<p> </p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">下面是</font><font face="Arial"
size="3">TFloatPropertyEditor</font><font face="宋体" lang="ZH-CN" size="3">的定义:</p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p>type</p>
<p>TFloatProperty=Class(TPropertyEditor)</p>
<p>public</p>
<p>function AllEqual: Boolean; override; </p>
<p>function GetValue: String; override; </p>
<p>procedure SetValue ( Const Value: string ); override; </p>
<p>end;</p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">⑵</font><font size="3"> </font><font
face="宋体" lang="ZH-CN" size="3">象文本一样编辑属性</p>
<p>  所有的属性都需要将它们的值在</font><font face="Arial" size="3">Object
Inspector</font><font face="宋体" lang="ZH-CN" size="3">窗口中以文本的方式显示。属性编辑器对象提供了文本表现和实际值之间转换的虚方法。这些虚方法是</font><font
face="Arial" size="3">GetValue</font><font face="宋体" lang="ZH-CN" size="3">和</font><font
face="Arial" size="3">SetValue</font><font face="宋体" lang="ZH-CN" size="3">,你的属性编辑器也能继承了一系列的方法用于读和写不同类型的值。见下表:</p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">表</font><font face="Arial" size="3">19.5
</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"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">属性类型  </font><font
size="3"> </font><font face="Arial" size="3">&quot;Get&quot;</font><font face="宋体"
lang="ZH-CN" size="3">方法</font><font size="3"> </font><font face="Arial" size="3">&quot;Set&quot;</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"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">浮点数</font><font size="3"> </font><font
face="Arial" size="3">GetFloatValue SetFloatVallue</p>
<p></font><font face="宋体" lang="ZH-CN" size="3">方法指针</font><font size="3"> </font><font
face="Arial" size="3">GetMethodValue SetMehodValue</p>
<p></font><font face="宋体" lang="ZH-CN" size="3">有序类型</font><font size="3"> </font><font
face="Arial" size="3">GetOrdValue SetOrdValue</p>
<p></font><font face="宋体" lang="ZH-CN" size="3">字符串</font><font size="3"> </font><font
face="Arial" size="3">GetStrValue SetStrValue</p>
<p></font><font face="宋体" lang="ZH-CN" size="3">━━━━━━━━━━━━━━━━━━━━━━━━━━</p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">当覆盖</font><font face="Arial"
size="3">GetValue</font><font face="宋体" lang="ZH-CN" size="3">方法时,调用一个</font><font
face="Arial" size="3">&quot;Get&quot;</font><font face="宋体" lang="ZH-CN" size="3">方法;当覆盖</font><font
face="Arial" size="3">SetValue</font><font face="宋体" lang="ZH-CN" size="3">方法时调用一个</font><font
face="Arial" size="3">&quot;Set&quot;</font><font face="宋体" lang="ZH-CN" size="3">方法。</p>
<p>  属性编辑器的</font><font face="Arial" size="3">GetValue</font><font
face="宋体" lang="ZH-CN" size="3">方法返回一个字符串以表现当前属性值。缺省情况下</font><font
face="Arial" size="3">GetValue</font><font face="宋体" lang="ZH-CN" size="3">返回</font><font
face="Arial" size="3">&quot;unknown&quot;</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">SetValue</font><font face="宋体" lang="ZH-CN" size="3">接收</font><font
face="Arial" size="3">Object Inspector</font><font face="宋体" lang="ZH-CN" size="3">窗口</font><font
face="Arial" size="3">String</font><font face="宋体" lang="ZH-CN" size="3">类型的参数,并将其转换成合适的类型,并设置属性值。</p>
<p>  下面是</font><font face="Arial" size="3">TIntegerProperty</font><font
face="宋体" lang="ZH-CN" size="3">的</font><font face="Arial" size="3">GetValue</font><font
face="宋体" lang="ZH-CN" size="3">和</font><font face="Arial" size="3">SetValue</font><font
face="宋体" lang="ZH-CN" size="3">的例子:</p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p>function TIntegerProperty GetValue: string; </p>
<p>begin</p>
<p>Result := IntToStr (GetOrdValue); </p>
<p>end; </p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p>proceduve TIntegerPropertySetValue (Const Value: string); </p>
<p>var</p>
<p>L: Longint; </p>
<p>begin</p>
<p>L := StrToInt(Value); { </font><font face="宋体" lang="ZH-CN" size="3">将字符串转换为数学</font><font
size="3"> </font><font face="Arial" size="3">}</p>
<p>with GetTypeData (GetPropType)^ do</p>
<p>if ( L &lt; Minvalue ) or ( L &gt; MaxValue ) then</p>
<p>Raise EPropertyError.Create (FmtloadStr(SOutOfRange,</p>
<p>[MinValue</font><font face="宋体" lang="ZH-CN" size="3">,</font><font face="Arial"
size="3">MaxValue]));</p>
<p>SetOrdValue (L);</p>
<p>end;</p>
<p></font><font size="3"> </font><font face="Arial" size="3"></p>
<p></font><font face="宋体" lang="ZH-CN" size="3">⑶</font><font 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">Font</font><font face="宋体" lang="ZH-CN" size="3">属性,用户可以找开</font><font
face="Arial" size="3">Font</font><font face="宋体" lang="ZH-CN" size="3">对话框来选择字体的属性。</p>
<p>  提供整体属性编辑对话框,要覆盖属性编辑对象的</font><font
face="Arial" size="3">Edit</font><font face="宋体" lang="ZH-CN" size="3">方法。</font><font
face="Arial" size="3">Edit</font><font face="宋体" lang="ZH-CN" size="3">方法也使用</font><font
face="Arial" size="3">&quot;Get&quot;</font><font face="宋体" lang="ZH-CN" size="3">和</font><font
face="Arial" size="3">&quot;Set&quot;</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

⌨️ 快捷键说明

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