怪问题!(200分)

  • 主题发起人 主题发起人 billy_yuan
  • 开始时间 开始时间
B

billy_yuan

Unregistered / Unconfirmed
GUEST, unregistred user!
本人写了一个TStringGrid,想用一个可视化的窗口来修改TStringGrid的属性,在设计状态我以经
实现,但是在运行态的时候怎么实现啊!我不知道TStringGrid的实例的名字啊!
 
var i:integer;
for i:=0 to from1.componentcount-1 do
if component is TStringGrid then ;
 
我的窗口是包含在控件里面的,我连TStringGrid的实例都访问不到,怎么能访问他的parent
的呢!
 
你能否贴点代码上来,就这么怎么说呢?
 
就是用self啦:),当你写控件的时候,引用本身类 在运行时的一个实例的时候就可以用
self,它就好比是C++中的this关键字:),如:
TCustomStringGrid = class( TStringGrid )
private
bgColor : TColor;
procedure SetColor( Value : TColor );
public { 省略 }
end;

TCustomStringGrid.SetColor( Value : TColor );
begin
self.bgColor := Value; { 其中self就代表这个TCustomStringGrid 类的一个运行实例 }
end;
 
接受答案了.
 
后退
顶部