C childboy Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-29 #1 比如,我的控件继承自某个控件,但我不想让其上的某些属性出现在我的控件的 属性列表中。请问,我应该怎样做,才能把他们屏蔽掉?
C cxg8888 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-29 #3 一般来说,每个类都有一个对应的TCustomXXXX类,从这个类继承, 在Published中声明自己需要列出的属性。
T thbin Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-29 #4 如果那些属性是父控件已经公布了的属性,则子控件中就不应该屏蔽; 不过在Delphi标准控件中,一般的控件都有一个TCustom开头的父控件, 它实现了所有的方法,如TEdit是继承TCustomEdit,而在TCustomEdit中 基本上实现了Edit控件所有的属性、方法、事件等,而其访问类型是保护 类型,不会出现在属性列表中,而TEdit类只不过将相关的属性、事件进 行公布,以显示在属性列表中;因此,你可以从TCustomEdit继承,并根据 实际情况公布所需的属性
如果那些属性是父控件已经公布了的属性,则子控件中就不应该屏蔽; 不过在Delphi标准控件中,一般的控件都有一个TCustom开头的父控件, 它实现了所有的方法,如TEdit是继承TCustomEdit,而在TCustomEdit中 基本上实现了Edit控件所有的属性、方法、事件等,而其访问类型是保护 类型,不会出现在属性列表中,而TEdit类只不过将相关的属性、事件进 行公布,以显示在属性列表中;因此,你可以从TCustomEdit继承,并根据 实际情况公布所需的属性