原文转自 http://bbs.csdn.net/topics/391039432
如图类似Tab控件的功能 但Tab控件按钮是固定的上下左右 不方便 所以想自己重新做个这种 我MFC新手,求指点,具体要怎么弄,如果可以,给我发个这种例子研究下更好了,好人一生平安,谢谢。
【解决方案】
新建一个Style为Child,Border为None的对话框,然后在父对话框那里添加一个PictureBox(IDC_PIC1)用于定位,Visible设为False
//CDlgParent.h
CDialog m_InnerDlg1; // 也可以新建一个类CMyDialog
CDialog m_InnerDlg2; // 也可以新建一个类CMyDialog
//CDlgParent.cpp——OnInitDialog()
CRect rect;
m_InnerDlg1.Create(IDD_INNER_1, this); // 创建非模态对话框,父级是自己
m_InnerDlg2.Create(IDD_INNER_2, this); // 创建非模态对话框,父级是自己
GetDlgItem(IDC_PIC1)-> GetWindowRect(&rect); // 准确定位
ScreenToClient(&rect); // 千万注意别用成ClientToScreen
m_InnerDlg1.MoveWindow(rect); // 移动到
m_InnerDlg2.MoveWindow(rect); // 移动到
m_InnerDlg1.ShowWindow(SW_SHOW); // 显式对话框
m_InnerDlg1.ShowWindow(SW_HIDE); // 隐藏对话框