在程序的主画面,最上行是标题行,往下是菜单栏,再往下是工具栏。
在主画面上通过菜单栏调用的子画面不能覆盖主画面的标题栏、菜单栏及工具栏,
但同时,当子画面最大化时也不能覆盖主画面的标题栏、菜单栏及工具栏,
请各位高手指教。

解决方案 »

  1.   

    我也使用mid形式试验过,
    但是为什么当我执行主程序时,其下的子程序也同时被打开了呢!
      

  2.   

    Delphi--->project--->options--->forms--->auto-creatforms
      

  3.   

    Form.BorderStyle=bsNone//隐藏边框,包括标题栏
    MainMenu.AutoMerge=True//隐藏菜单
      

  4.   

    new items里面的project页里有个Mid application.
    比他们详细,也给10分吧
      

  5.   

    我有一个childform的方法,不知道你试过没有。
    我用过很多次的,能实现你要的东西!
    unit ChildFrm;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls,
      Forms, Dialogs, StdCtrls, ExtCtrls, Menus;type  TChildForm = class(TForm)
      private
        FAsChild: Boolean;
        FTempParent: TWinControl;
      protected
        procedure CreateParams(var Params: TCreateParams); override;
        procedure Loaded; override;
      public
        constructor Create(AOwner: TComponent); overload; override;
        constructor Create(AOwner: TComponent; AParent: TWinControl); reintroduce; overload;    // The method below must be overridden to return either the main menu
        // of the form, or nil.
        function GetFormMenu: TMainMenu; virtual; abstract;
        function CanChange: Boolean; virtual;
      end;var
      ChildForm: TChildForm;implementation{$R *.DFM}
    constructor TChildForm.Create(AOwner: TComponent);
    begin
      FAsChild := False;
      inherited Create(AOwner);
    end;constructor TChildForm.Create(AOwner: TComponent; AParent: TWinControl);
    begin
      FAsChild := True;
      FTempParent := aParent;
      inherited Create(AOwner);
    end;procedure TChildForm.Loaded;
    begin
      inherited;
      if FAsChild then
      begin
        align := alClient;
        BorderStyle := bsNone;
        BorderIcons := [];
        Parent := FTempParent;
        Position := poDefault;
      end;
    end;procedure TChildForm.CreateParams(var Params: TCreateParams);
    Begin
      Inherited CreateParams(Params);
      if FAsChild then
        Params.Style := Params.Style or WS_CHILD;
    end;function TChildForm.CanChange: Boolean;
    begin
      Result := True;
    end;end.
      

  6.   

    捡分
    哥们可以这样的
    把主窗体的formstyle=fsmdiform
    子窗体=fsmdichild
    也可以实现你要的效果
      

  7.   

    你可以用MDI形式,也可以用停靠的方法,你可以在工具栏下面放一个Panel,把后面的子窗体停靠在Panel上
      

  8.   

    谁能给我一个样程序,我将不胜感谢!
    我的信箱是[email protected]
    如果谁能给我答案,我将单独给加分.
    谢谢
      

  9.   


    Delphi--->project--->options--->forms--->auto-creatforms
      

  10.   

    如何取得一个字符变量的值!
    例如:将一个字符串赋是一个字符变量,然后再将这个字符变量取出来如何做?
      name:='form1';
      如何取出这个form值
      

  11.   

    在主程序调用子程序时,将子程序的表单名赋给主程序的一个字符型的变量,
    当主程序再调用其它子程序前将前一个子程序的表单关闭。
    就是:var diao : string;      diao:='form1';
          //然后关闭form1
          diao.close;  //出现错误。
      

  12.   

    当然不行。
    var
      diao:Tform;或diao:Tform1;diao:=Form1;
    diao.close;