小弟想做一个小程序:
    要求是让FORM2停靠在FORM1的PANEL上,还望各位帮帮忙.谢谢!
    小弟初学,还望各大侠不要见笑.
    form2.Parent:= form1.Panel1;
    form2.WindowState:= wsmaximized;
    form2.Show;
这样做出来的话,FORM2上面加几个EDIT控件,在EDIT控件上就不可用左键了,只能用右键.
还望各大侠指点迷津,谢谢!!!

解决方案 »

  1.   

    对的啊
      Application.CreateForm(TForm2, Form2);
      form2.Parent:=panel1;
      form2.Show;
      

  2.   

    procedure TMainForm.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
    var
      i: integer;
    begin
      i := 0;
      // 如果要打开一个新的窗体,判断是否打开了一个窗体,如果是则关闭
      while (i <= Panel1.ControlCount - 1) and (Panel1.ControlCount > 1) do
      begin
        if Panel1.Controls[i] is TForm then
        begin
          Panel1.Controls[i].Free; //  释放一个控件后I不递增
        end
        else
          i := i + 1;
      end; //  如果不是,I加1
    end;
    procedure TMainForm.N9Click(Sender: TObject);
    begin
     try
      MainForm.Caption:='商店进货管理--'+CustomerForm.Caption;
      Application.CreateForm(TCustomerForm,CustomerForm);
      with CustomerForm do
       begin
        UseDockManager:=True;
        DragKind:=dkDock;
        DragMode:=dmAutoMatic;
        Visible:=True;
       end;
       CustomerForm.ManualDock(Panel1,nil,ALCLient)
      except
      MyError('用户资料维护窗体创建失败');
      end;
    end;
    就可以了都在mainForm里面写的代码
      

  3.   

    哈哈,果然,把form2的borderstyle设置为bsNone就OK了!