现有窗体FROM1,BUTTON1于其上
点击 BUTTON1:创建新窗体FROM1,并于其上创建F2BUTTON1按钮,F2EDIT1文本框
<--->
问题:
如何实现点击F2BUTTON1,为F2EDIT1赋值?

解决方案 »

  1.   

    点击 BUTTON1:创建新窗体FROM2,并于其上创建F2BUTTON1按钮,F2EDIT1文本框
    <--------------------------------------------------------------------->
    真的没有人...
      

  2.   

    >>如何实现点击F2BUTTON1,为F2EDIT1赋值?
    你要將寫好一個事件函數, 
    F2BTN1  Create 後, 將其Click事件指到該函數
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      buttontemp:tbutton;
    begin
      buttontemp:=tbutton.Create(self);
      buttontemp.Parent:=panel1;
      buttontemp.Caption:='确定';
    end;
      

  4.   

    楼上的前辈:.
    .
    .
    procedure TForm1.Button1Click(Sender: TObject);
    var a:tform;
    var b:tbutton;
    begin
        a:=tform.Create(application);
        a.Left:=100;
        a.Top:=100;
        a.Visible:=true;
        b:=tbutton.Create(a);
        b.ParentWindow:=a.Handle;
        b.Left:=10;
        b.Top:=10;
        b.Name:='button1';
        b.Caption:='button1';
        b.OnClick:=ABCD;
        b.Visible:=true;
    end;
    .....
    procedure TFORM1.abcd(sender:TOBJECT);
    BEGIN
    <*>这里我该怎么写呢?<*>
    END;
      

  5.   

    TO: zhouxiaochenchina() 我不是你这个意思哦
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    var a:tform;
    var b:tbutton;
    var c:tedit;
    begin
        a:=tform.Create(application);
        a.Left:=100;
        a.Top:=100;
        a.Visible:=true;
        b:=tbutton.Create(a);
        b.ParentWindow:=a.Handle;
        b.Left:=10;
        b.Top:=10;
        b.Name:='button1';
        b.Caption:='button1';
        b.OnClick:=ABCD;
        b.Visible:=true;c:=tedit.Create(a);
        c.ParentWindow:=a.Handle;
        c.Left:=b.Left+b.Width +5;
        c.Top:=10;
        c.Name:='tedit1';
        c.Text:='tedit1';
        c.Visible:=true;
    end;
    .....
    procedure TFORM1.abcd(sender:TOBJECT);
    BEGIN
    <*>要改变C 的 TEXT 这里我该怎么写呢?<*>
    END;
      

  7.   

    TO:welllove88(寒林) A是动态创建的
      

  8.   

    var
    DControlList:TList;//你的动态控件指针列表,这样就不会出现LEAK了
    procedure xxxx;
    var
    b:Button;
    begin
      b:=Button.Create(Form1);
      DControlList.Add(B);
      //do some
    end;procedure xxx*****;
    var
    i:Integer;
    begin
      I:=DControlList.Indexof(B);
      TButton(DControlList[i]).Dosome//你要做的事情.
    end;
    //上面的代码只是例子你可以参考
      

  9.   

    1>你其他都不变,在你的窗体上放一个隐藏的button,然后写好给edit附值的代码,比如edti1.text:='11'
    2>然后你创建完新的button1后,补一句代码 button1.onclick:=button.onclick
    这样就可以了
      

  10.   

    TO: ttch(最近比较烦(工作没找到)) B是局部变量啊
      

  11.   

    呵呵 :)在DELPHI中 对象在局部不会释放,因为TOBJECT是使用GETMEM创建空间的记得在你的程序释放的时候  对TList每个指针释放就可以了这样就不会LEAK  要不你的内存泄露是不可避免的 动态就要考虑不泄露内存才是重要的
      

  12.   

    TO: ADWARDS00(大拇指) 不好用啊
      

  13.   

    TO:ttch(最近比较烦(工作没找到))  [Error] Unit1.pas(76): Undeclared identifier: 'B'
      

  14.   


    procedure TFORM1.abcd(sender:TOBJECT);
    BEGIN
     <*>要改变C 的 TEXT 这里我该怎么写呢?<*>
     if sender is Tedit then    //不知道是不是你要的结果...
       Tedit(sender).text:='';
    END;
      

  15.   

    TO: shun3(天使鬼差) 
    abcd是由 新创建按钮的 ONCLICK
    SENDER 不会是 TEDIT 的
      

  16.   

    procedure TFORM1.abcd(sender:TOBJECT);
    BEGIN (((sender as TButton).Parent as TForm).FindComponent('tedit1') as TEdit).Text := 'XXXX';<*>这里我该怎么写呢?<*>
    END;
      

  17.   

    我说了代码不一定可编译  :(你可以用pointer(b)这样转换
      

  18.   

    感谢前辈  aiirii(ari-爱的眼睛)
              ttch(最近比较烦(工作没找到)) 
    结贴了!!