B billy_yuan Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-09 #1 本人写了一个TStringGrid,想用一个可视化的窗口来修改TStringGrid的属性,在设计状态我以经 实现,但是在运行态的时候怎么实现啊!我不知道TStringGrid的实例的名字啊!
小 小人物 Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-09 #2 var i:integer; for i:=0 to from1.componentcount-1 do if component is TStringGrid then ;
B billy_yuan Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-10 #3 我的窗口是包含在控件里面的,我连TStringGrid的实例都访问不到,怎么能访问他的parent 的呢!
W wison Unregistered / Unconfirmed GUEST, unregistred user! 2001-10-16 #6 就是用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;
就是用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;