如果要在程序运行时定制数据输入窗口,就是说可以自己决定哪些字段要输入,输入格式,输入方式(是能过文本框还是下拉列表框等),而且输入控件的位置可以自由调整,大家说要怎么实现呢?是不是要在程序运行时动态创建控件?再动态赋予控件属性。

解决方案 »

  1.   

    koma2003(koma) 我的意思是位置可以通过鼠标拖放调整。
      

  2.   

    var
      dbedit2:Tdbedit;
    begin
      dbedit1:=Tdbedit.Create(nil);
      dbedit1.Parent:=form1;
      dbedit1.SetBounds(10,10,10,10);
      dbedit1.DataSource:=datasource1;
      dbedit1.DataField:='username';
    end;
    一个小例子,以后你自个来吧
      

  3.   

    如果要用鼠标来拖的话,在该控件的mousedown事件中写入以下代码就可以了只试用于Twincontrol类的控件:
    const
      sc_dragmove=$f012;
    begin
      releasecapture;
      (sender as Twincontrol).Perform(wm_syscommand,sc_dragmove,0);
    end;
      

  4.   

    动态加载事件也好说,
    控件.onclick:=myproc;
    然后在procedure myproc;放你要放的代码。
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var bu:Tbutton;
    begin
    bu:=TButton.Create(Self);
    bu.Parent:=Form1;
    bu.Name:='Bu'+IntTostr(i);
    bu.OnClick:=(sender as Tbutton).OnClick;
    end;