我想做出一个拥有导航界面的应用程序,当应用程序其它子窗口打开时,这个导航界面居于其他子窗口下面,当所以的其它子窗口关闭时,这个导航界面居于最上层,请问如何实现??
当其它子窗口不是最大化时,能够点击导航窗口上的按钮打开另外的子窗口,该导航窗口不能是MDI子窗口.

解决方案 »

  1.   

    你用各个Form.showModel方法
    按照你定义好的顺序打开导航
    窗口就行了!
    ***************************
    关键是:把各个导航窗口都关联到
    主窗口,那就可以把导航窗口的参数
    传递到主窗口了!
      

  2.   

    谢谢楼上的两位,,
    但是你们的应用程序子窗口不是MDI的吗???
    因为我的应用程序都是MDI子窗口,如果不是SHOWMODAL有没办法实现我的问题呢???
      

  3.   

    但是,我认为:
    刚靠用showModel方法还是有闭端的!
      但你ShowModel的一个窗口使用过后Close掉了
    如果下一次调用同样的窗口时,你会发现上次的变更
    仍然存在(例如你输入的名称、密码等!)
    ===============================================
    你应该这样:
    向定义一个调用子窗口的过程如:ShowTempForm(f:TFormCllas);
      fTemp:TForm;
    Begin
      fTemp:=f.Create(Self);
      fTemp.ShoeModel;
    end;
    ------------------------------------------------
    其中过程接受的变量f就是你的子窗口,
    这样就不会有哪些问题了!
      

  4.   

    "当其它子窗口不是最大化时,能够点击导航窗口上的按钮打开另外的子窗口"如果你用showmodel方式,你将不能点击你的导航窗口。
      

  5.   

    但是,
    在导航窗口中可以设定:上一步,下一步,取消;等功能、
    来完成[flyforlove(为情飞)]所说的功能阿!
      

  6.   

    如果你是用showmodel方式来显示窗体的话,在窗体还在显示的时候,
    你有办法点击导航窗体的按钮吗?
      

  7.   

    楼上好象就  flyforlove(为情飞) 理解了,,
    我的情况是:
    应用程序中的子窗口基本上的无模式的,所以不能用 showmodal 来显示子窗口.
    当子窗口还原或最小化时,,在主窗口中可以点击导航栏的按钮,可以打开新的子窗口(其它数据编辑界面). 导航栏(应该有400*300像素大小)应该始终是在所有子窗口最底层.高手何在???/没人做这过这种事吗???
      

  8.   

    呵呵,,也许我说的不够明白,, 害的flyforlove(为情飞)还没弄清楚我要求实现的是如下层次结构的窗口:(从下到上窗口层次)
        MDI主窗口即MDIForm---->导航界面(大概400*300)---->MDI子窗口即MDIChild.
        如果MDI主窗口关闭,应用程序就结束运行.