Self是代表窗体,如果本组件呢.
如,一个按钮的单击事件:(当这个按钮的标题为1时,单击后变成2,不是1则单击后为1)
  VFP中可以这样表达
    If this.caption="1" then this.caption=2 else this.caption:=1
    在DELPHI中应该怎样表达

解决方案 »

  1.   

    单击事件有一个参数Sender就是控件本身:if TButton(Sender).Caption='1' then
      TButton(Sender).Caption='2' 
    else
      TButton(Sender).Caption='1' 
      

  2.   

    Self并不只是代表窗体。Self代表的是当前被调用方法所属于的某个类的实例对象,其中包括窗体类。
      

  3.   

    Self并不只是代表窗体。Self代表的是当前被调用方法所属于的某个类的实例对象,其中包括窗体类。
      

  4.   

    当self如果调用的实例恰好是窗体,那么self代表本窗体组件;
    如果调用的是其他实例,self就不是窗体。贴段代码,你体会一下:
    procedure Tform1.formcreate(sender:Tobject);//代码一
     begin
       self.color:=clred;
    end;

    procedure Tform1.formcreate(sender:Tobject);//代码二
     begin
       color:=clred;
    end;
    窗体一运行就是红色,代码二中之所以不写,是因为代码包含在form中,如果没有特别指明所属对象,系统会自动把它当成form.