我建了一个基于对话框的工程,我想问的是,在VC中,有没有像在JBuilder或者Delphi中的那种Pane的功能,即我想在一个主对话框中,让它显示不同的组件,我的设想是:在基于对话框的工程中,主对话框的一边放一个树形控件,当我点击树形控件不同的子项目时,让主对话框的其他部分能够显示不同的界面,请问,这个的效果能实现吗?怎么实现?

解决方案 »

  1.   

    能够啊,在你点击树形控件不同的子项目时,你可以让不希望显示的控件hide,希望显示的控件show就行了.
       你把需要显示的控件定义一个变量,然后用变量来控制显示或不显示.我记的是EnableWindow()还是ShowWindow();你查一下MSDN吧!
      

  2.   

    更好的办法: 将同一组的控件放在单独的多个对话框上,这些对话框都以子窗口的形式叠放在一起,放在一个大对话框上.当你选中树上的一个结点时, 将对应的对话框ShowWindow(SW_SHOW),而其余的对话框就ShowWindow(SW_HIDE),
    这样每个对话框包含一组控件,好管理
      

  3.   

    用ShowWindow(SW_SHOW)显示控件;
    用ShowWindow(SW_HIDE)隐藏。
      

  4.   

    看看这个例子:VC控件 TreeCtrl 与 ListCtrl 演示http://www.vckbase.com/document/viewdoc/?id=836
      

  5.   

    采用层叠窗口,然后跟距需要
    用ShowWindow(SW_SHOW)显示控件;
    用ShowWindow(SW_HIDE)隐藏。
      

  6.   

    还有一种办法:将在同一页面下的所有控件的ID记录到一个数组中,需要显示时,只需循环语句加上ShowWindow 函数即可实现。
      

  7.   

    m_pPages[i]--->CDialog 对象,这些对话框都以子窗口的形式叠放在一起
    m_pPages[i]->Create( m_IDD[i], this );
    m_pPages[nCount]->SetWindowPos(&wndTop, nX, nY, nXc, nYc, SWP_HIDEWINDOW);