怎样用mfc开发能切换的界面

我想用MFC做一个界面,不要标题栏,顶部创建一个工具栏,每点击工具栏里的一个按钮,会在右边创建一竖列按钮,每点击竖列的按钮,都能创建不同的窗口,是切换的那种风格,请问怎样... 我想用MFC做一个界面,不要标题栏,顶部创建一个工具栏,每点击工具栏里的一个按钮,会在右边创建一竖列按钮,每点击竖列的按钮,都能创建不同的窗口,是切换的那种风格,请问怎样能实现?
我画了一个草图:这个是主界面:

这个是先点击顶部工具栏按钮1,再点击竖列的第一个按钮:

这个是先点击按钮1,再点击竖列的第二个按钮:

这个是先点击按钮1,再点击竖列的第五个按钮:

这个是先点击顶部工具栏按钮2,再点击竖列的第三个按钮:

这个是先点击顶部工具栏按钮5,再点击竖列的第七个按钮:

所有子窗口跟主窗口的关系 如下:
展开
 我来答
潮范君
2016-03-23 · 知道合伙人软件行家
潮范君
知道合伙人软件行家
采纳数:1440 获赞数:2874
从事软件开发工作一年有余,主要C++方向。

向TA提问 私信TA
展开全部

效果图:

  1. 添加一个CtrlTab类型的控件, 就是标签页


  2. 分别创建3个子对话框,分别如图:


  3. 在主对话框中添加代码,最核心的部分,请参考


    m_tabCtrl.InsertItem(0, _T("多开"));          
    m_dlgLaunch.Create(IDD_DIALOG_LAUNCH, &m_tabCtrl);  
    m_vectDlg.push_back(&m_dlgLaunch);

    m_tabCtrl.InsertItem(1, _T("赌石"));          
    m_dlgGamble.Create(IDD_DIALOG_GAMBLE, &m_tabCtrl);   
    m_vectDlg.push_back(&m_dlgGamble); 

    m_tabCtrl.InsertItem(2, _T("强化"));          
    m_dlgUp.Create(IDD_DIALOG_UPDATE, &m_tabCtrl);   
    m_vectDlg.push_back(&m_dlgUp); 

    m_tabCtrl.GetClientRect(&tabRect);    
    tabRect.left += 1;                  
    tabRect.right -= 2;   
    tabRect.top += 22;   
    tabRect.bottom -= 2;     

    m_dlgLaunch.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_SHOWWINDOW); 
    m_dlgGamble.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);     
    m_dlgUp.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);  

    //分别把子对话框关联到ctrlTab控件上
    //效果见效果图


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式