请问如何在C++ Builder中使用某一控件Protected中的属性或方法。(100分)

  • 主题发起人 主题发起人 Lucker
  • 开始时间 开始时间
L

Lucker

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi中,我们可以通过下面的方法来引用Protected中的属性或方法:

TMyControl=Class(TControl);
TMyControl(Edit1).xxx;

但却不知如何在CB中实现,或者CB根本就没法实现?望各位高手指点迷津。
 
c中是用 typedef 吧.
 
C++中严格遵循类的可见性规定,禁止在类外部访问非public和非__published的
域、属性和方法。对于属性和方法,你必须在导出类中将你想要访问的protected
属性或方法重载为public或__published,才能访问。如:

class TMyControl : public TControl { public: __property Caption; };
AnsiString s = ((TMyControl*)Edit1)->Caption;

这里Caption是TControl的protected属性,在TEdit中并没有重载,所以不能直接访问。
 
agree Prinse
 
接受答案了,多谢Prinse
 
后退
顶部