窗口定位:
菜单窗口为mdichild
打开时left:=0;top:=0
当mdichild窗口count为0时,再打开,else关闭.

解决方案 »

  1.   

    在新窗体里放上什么panel,treeview之类的,点击时关联到另外的子窗体就行了吗
      

  2.   

    呵呵,简单简单,这样就行:
    *******************************************************************************
    1、大家见过用友的财务软件吗?它的主界面上所有的功能菜单都靠在客户区的左边,
      鼠标移上去后又会有子菜单,子窗口出来后又会覆盖掉这些菜单。
    2、我想问的是它是如何将菜单放到主窗口的客户区去?
      (好象是画上去的,但鼠标移上去字会变颜色)
    *******************************************************************************
    它的菜单不是那种普通的菜单,实际上是好多个lable或panel甚至bitbtn(看你喜欢什么了),设置成那种flat的样子,当mouse在它上面move时,颜色改变,然后再弹出一个自己定义好的popupmenu(如果这种格式的菜单有好多,那么就有好多的lable和popupmenu),弹出popupmenu后,它的x和y都可以设置为“子窗口出来后又会覆盖掉这些菜单”*******************************************************************************
    3、我的目的是将菜单放进客户区,但又不占用客户区的空间!
      (在客户区放一个Panel,再在Panel上放一个Treeview,但Panel占了客户区的空间)*******************************************************************************
    呵呵,这就不用我说了吧,你可以在不用时把它hide,用时在显示出来,呵呵~~~~
      

  3.   

    他可能用的是就是Panel
    我在做一个类似的软件
    用友的和万国的差不多
    我问过朋友的
      

  4.   

    你确定它是我们通常用的菜单吗(我指的是标准的菜单)
    也许他们是开发的一套类似菜单形式的控件,比如可能是从TGustomControl或TGraphicControl
    继承下来的!(不好意思,我是菜鸟,说错了别见怪!)
      

  5.   

    我想:用一个toolbar和一个popupmenu就可以了。
      

  6.   

    TO: Bob7946(X度空间) 你再试一下!你会发现这些放上去的Lable、Bitbtn都会浮在MDI子窗口上面的!
      

  7.   

    我现在用的就是把Panel Hide掉,但是用TreeView总是没有用menu舒服!
      

  8.   

    那你就把这些Lable、Bitbtn放在MDI子窗口上面试试啊!
      

  9.   

    我试过了!Windows菜单中会列出这个窗口,
    点一下这个窗口,它会到其它窗口的前面来,
    即盖过了其它MDI子窗口!
      

  10.   

    将该MDI子窗口设为最底层即可。
      

  11.   

    什么意思?把你的程序发过来一份我看看吧,并附上你要求的效果抓图,我再试试...
    [email protected]
      

  12.   

    至于用友用的是什么控件,使用微软的spy看一下就知道了
      

  13.   

    我只是随便建了一个MDI的应用程序,
    只是想将菜单放到客户区中去,
    还没写代码呢!
      

  14.   

    呵呵,我简单的做了一个demo,不知道是不是你说的样子,你的邮箱?我发给你。(用D6写的)
      

  15.   

    1、我也没有见过用友的界面。
    2、可以试试ClildForm,即将Form嵌入的Form中去,这样子Form是可以有菜单的。
    3、我不是很明白你的意思。
      

  16.   

    TO:CHECHY
    2、如何嵌入?我用过Frame,但它浮在其它子FORM 的上面啊!
      

  17.   

    Delphi 5 Developer's Guide第四章详细介绍了,而且还有例子。
      

  18.   

    有光盘吗?
    你先给我发一个例子过来好吗?
    [email protected]
    谢谢!
      

  19.   

    这本书的电子版,以及程序网上都有。我这里是ChildFrm的程序。
    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.
      

  20.   

    函数:
    function GetFormMenu: TMainMenu; virtual; abstract;
    定义在什么地方?
        
      

  21.   

    to liang_z(千山一刀之忍者神龟):上班了!!!
        我把那个demo给你发过去,你看看是不是这种效果(还有些功能没写出来,是很简单的一个demo)
      

  22.   

    我没用过用友软件,但我知道很多漂亮软件都是张皮,全都是画的,比如winamp等等,你可以用spy++去看一下,就是一张图,什么都不有.
      

  23.   

    不好意思!也许是我表达得不清楚,
    我要求菜单在客户区中靠右竖排为一列,象贴在上面,而不是象子FORM是浮在上面的!
    任何子FORM都会把它覆盖掉,但是菜单露出的部分一定要显示出来!
    菜单不能被随便拖动到其它地方!