FindComponent怎么用?(40分)

  • 主题发起人 主题发起人 城里的月饼
  • 开始时间 开始时间

城里的月饼

Unregistered / Unconfirmed
GUEST, unregistred user!
我自己定义了一个类:
uses Windows, Messages, SysUtils, Graphics, Classes,Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;
type Tform1=class(TForm);
.....
end;
type TBox=class
Myshp:string;
Private
procedure Setcolor(const Value: Tcolor);
...
implementation
procedure TBillBox.Setcolor(const Value: Tcolor);
begin
TShape( FindComponent(myshp)).brush.color:=value;
end;
总提示 undeclared identifier:'Findcomponent'
怎么回事?
 
用form1.findcomponent
TBillBox没有findcomponent方法
 
TShape( Form1.FindComponent(myshp)).brush.color:=value;
 
我试了没问题
肯定是
type TBox=class
Myshp:string;
的问题
好象语法不对
 
Form1也没有findcompenont方法呀
 
findcompenont是一函数!看看帮助吧!会有很大收获的!
写程序学会看帮助很重要!
 
to 卷起千堆雪tyn :
我明白了,该方法是Tcomponent的方法,form1是一个component所以没问题,
而我没有指明是哪个component所以就出错。并且我声明的类也不是Tcomponent
的子类,所以也没法继承这个方法,对不?
 
从来没有见过这么样子用FindComponent的。
看看帮助好了。
 
只要你把光标放到该函数上,就能看到,它是TComponent.findcomponent.
说明它虽然是函数,也不能单独用的,必须指定它的TComponent,
平时用没事,是因为默认的TComponent就是当前窗体.
 
除了 卷起千堆雪tyn 所说之外,你的 class 一定要指定继承至哪个class,如
type
MyClass = class(TObject)
//...
end;
 
多人接受答案了。
 
后退
顶部