用MDI可能很简单,但是我想在对话框中实现类似框架网页的效果|------------------------------------------------------|
|  _______   |                                         |
| | 功能1 |  |                                         |
|            |            功能1的所有控件             |
|            |                                         |
|            |                                         |
| | 功能2 |  |                                         |
|            |                                         |
|            |                                         |
|------------------------------------------------------|点击“功能1”,功能1相关的界面出现在右边“功能1的所有控件”部分,点击“功能2”,功能1所对应的控件不显示,而是显示功能2所对应的控件。个人不主张用单个控件隐藏的方法,因为如果控件太多的话,调用起来太麻烦,不知大家有什么好的解决方法,能够把每一功能的所有控件关联到一起(就好像都在一个页面里一样),调用一个函数,使整个相对应功能的所有控件显示或隐藏。谢谢!!

解决方案 »

  1.   

    用子对话框
    你说的效果其实就是tabcontrol
      

  2.   

    子对话框我考虑过,不过不太会用,我只知道对话框可以用DoModule()和Create(),但是DoModule()是弹出来的,肯定不符合要求,至于Create()我还没用过。tabcontrol这个我考虑过,但是它最上面会有标签,好像没办法把那个标签去掉吧,虽然可以使它的文字为空,但是那个形状好像依然存在。能否麻烦指点一下,谢谢!!
      

  3.   

    首先,tabcontrol的标签是可以在左侧的
    然后,我想说这种框架的实现应该都是才有非模式对话框来实现的,即便是MDI也是封装了这种机制。
    最后,其实用tabcontrol只是是控制方便而已,你也完全可以用按钮实现。我就用单选按钮做过七个模块切换的界面。这种框架的基本思想就是显示当前选择的子对话框,隐藏其他的。至于控件,在子对话框上你想怎么组织都行。
      

  4.   

    是啊,你上面讲的我完全赞同。
    用tabcontrol正如你所说的可以在左边显示,但是那种效果不是我想要的。我想要的效果就是你所说的用按钮来实现模块切换,不知你是如何实现的?
      

  5.   

    tabcontrol可以以按钮的形式显示标签
    如果非要用按钮作那就处理按钮消息啊