如何用代码获得当前窗本的name和caption

解决方案 »

  1.   

    self.Name;
    self.Caption;不加self也可以的
      

  2.   

    窗体名.name
    窗体名.caption如form1.name;form1.caption
      

  3.   

    Frm_Main.ModuleIfTrue(Data1.ADOQuery8,Frm_AssistBase);
    Frm_AssistBase是个窗体名称,但是用self.name不行的,怎么办
      

  4.   


    同意。不同意用form1.name;form1.caption
      

  5.   

    Frm_Main.ModuleIfTrue(Data1.ADOQuery8,Frm_AssistBase);参数传进来的时候,定义一个变量,然后赋值就好啦。
    var
      sName: string
    begin
      sName:= Frm_AssistBase;
      

  6.   


    我就是想自动获得当前窗体呀
    每个窗体都要设置sName还有什么意义
      

  7.   

    Frm_Main.ModuleIfTrue(Data1.ADOQuery8,Frm_AssistBase);
    看下这个过程,如果Frm_AssistBase已经创建了,直接用Frm_AssistBase.name
      

  8.   


    兄弟,还是那句话
    我就是想自动获得当前窗体呀
    每个窗体都要设置Frm_AssistBase.name
    还有什么意义
      

  9.   

    写了一个小测试,就当f4是你的新窗体吧
    看下面的code
    var
      f4: TForm4;  
      ff: TForm;
    procedure TForm3.Button1Click(Sender: TObject);
    var
      aHandle: THandle;
    begin
      f4 := TForm4.Create(self);
      f4.Show();
      //f4.Active := True;
      aHandle := GetForegroundWindow;
      ff := TForm(FindControl(aHandle));
      ff.Caption := 'New Caption';
      ff.Name := 'newForm';
    end;
      

  10.   

    窗体名有时不必记住,只用self 即可