动态生成一个控键,手动调整他的大小?

解决方案 »

  1.   

    var button: TButton;
    begin
      button := TButton.Create(Self);
      with button do begin
        Parent := Self;
        Left := 0;
        Top := 0;
        Width := 100;
        Height := 100;
        Caption := 'Button1';
        Visible := True;
      end;
    end;
      

  2.   

    sysu:可以动态生成他
    但是现在就是该怎样把他拉大或者放小一些呢!
      

  3.   

    procedure TForm1.Formcreate(Sender:TObject);
    var 
      button: TButton;
    begin
      button := TButton.Create(Self);
      with button do begin
        Parent := Self;
        Left := 0;
        Top := 0;
        Width := 100;
        Height := 100;
        Caption := 'Button1';
        Visible := True;
      end;
    end;
      

  4.   

    参见:
    http://expert.csdn.net/Expert/topic/1456/1456413.xml?temp=.9850733
      

  5.   

    改它的width和height的属性
    比如
    width:=150;
    height:=150;
    就可以把button拉大,
    而left和top则是button在form中的位置大家一起学习
      

  6.   

    首先放一个BUTTON在上面,然后在他的托动事件中写入托动时候让组件改变大小的代码,然后删除BUTTON,在程序中定义一个BUTTON,然后动态的生成,就可以了
      

  7.   

    wudi_1982:我还是不知道该怎样写啊.
      怎样删除一个动态的控键呢!
      

  8.   

    var 
    Button:TButton;begin
      Button:=TButton.Create(nil);
      Button.SetBounds(left,top,width,heigth);
      Button.Parent:=Form1;
    end;大概就这个样子,改一下就可以了
      

  9.   

    wudi_1982:你能不能给我一个源程序的看看怎样?
      

  10.   

    wudi_1982:不好意思 真的谢谢你哦/
    我控间移动的时候成了一个窗体这是怎么回事?
      

  11.   

    应该不是成了一个窗体,可能是BUTTON组件变的太大,覆盖了窗体而已
      

  12.   

    这个问题其实很简单,不过当时我也花费了老大的功夫才搞明白。关于控件自动生成的
    方法上面的老兄已经说的没得说了,我也就不再重复了,下面是调整控件大小的代码:
    procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin  //if ((X-bt.Left<=bt.Width) and (y-bt.top<=bt.Height ))then
      if ssLeft in Shift then
       begin
         Bt.Width:=X-x0;
         Bt.Height:=Y-y0;
       end;
    end;procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        x0:=x;
        y0:=y;end;
      

  13.   

    请问怎样调用一个MouseDown事件,
      

  14.   

    TFrame.FromMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);把  参数赋了就可以了
      

  15.   

    wudi_1982:  你好厉害我的跟你学习学习,
          我动态生成一个控件后,我要调用Image1MouseDown事件.
    b.MouseDown:=Image1MouseDown(nil,nil,nil,x,y);
      你帮我看看,
      

  16.   

    直接调用就可以了,比如你有两个BUTTON,有一个,比如BUTTON1写了代码,
    那么你可以在BUTTON2中写  BUTTON1Click(Sender);
      

  17.   

    b.OnMouseDown := Image1MouseDown; 
    就行了