打印本文 打印本文 关闭窗口 关闭窗口
支持自绘画的属性编辑器
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2379  更新时间:2009/4/23 18:26:28  文章录入:mintao  责任编辑:mintao
Info(ByteBool), nil, '''''''',
  TBoolPropertyEx);
  RegisterPropertyEditor(TypeInfo(WordBool), nil, '''''''', 
  TBoolPropertyEx);
  RegisterPropertyEditor(TypeInfo(LongBool), nil, '''''''', 
  TBoolPropertyEx);
  
  RegisterPropertyMapper(SetMapper);
end;


写完注册代码后,我们要作的只是把新的属性编辑器添加到包中,然后在Delphi中安装。关闭所有的窗体,确保原来的属性编辑器全部被释放。新建一个窗体,我们就可以看到如下图所示的属性编辑器了,看起来还是很漂亮的



其它新的属性编辑器特性

这里我们主要讲了自绘画的属性编辑器,但Delphi 5还提供了许多其它的新特性,感兴趣的朋友可以自己进行一下研究。 

比如新增的GetVisualValue方法类似于GetValue方法,但它可以用来返回一个比简单转换的字符串更有意义的描述字符串(但不能用来编辑)。有的时候,我们可能想用更有意义的字符串,而不是简单的转换来表示属性值,这时我们通过重载GetVisualValue方法来返回一个用于显示的字符串,用GetValue方法来返回一个用于编辑的字符串。

还有一个新的标志paFullWidthName置位的话,对象编辑器会完全显示属性名,而不会给属性值留出空间。第一眼的印象是这好象是一个很奇怪的特性,但很多控件都有类似于About的属性(尤其是商业控件),这些属性(是PaDialog类型的)只是在左边显示一个带省略号的按钮。 点击属性编辑器只是显示一个关于的对话框,它没有什么特别有意义的值,这时paFullWidthName标志就有用了,重载PropDrawName 方法我们可以把自己公司的Logo,显示在属性名的旁边。 

最后,我想要发发牢骚,Borland的这些新的特性从来就没有很好的文档(这点上borland比微软可是差了好几个数量级),所以要想研究的话,只能是多看看Delphi带的源代码了:(,不过不管怎么说,使用这些新的特性我们可以作出非常Cool的编辑界面来,这才是我们最关心的。

上一页  [1] [2] [3] 

打印本文 打印本文 关闭窗口 关闭窗口