基于对话框的MFC项目实现窗口分割
2017-08-01 17:48
363 查看
1. 新建一个MFC对话框程序MySplitter。 再插入两个Dialog资源 ,这里一定要选择IDD_FORMVIEW类别的对话框,对这两个对话框分别新建类CMyFormView0
和CMyFormView1,基类别选CDialog,一定要选择CFormView。
2.主对话框类MySplitterDlg.h中新增两个成员变量
3. CMySplitterDlg中增加WM_CREATE的消息响应,编辑OnCreate()
4.在CMySplitterDlg::OnInitDialog()中显示Frame
int CMySplitterDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CRect cRect;
GetWindowRect(&cRect);
ScreenToClient(&cRect);
m_pMyFrame->MoveWindow(&cRect);
m_pMyFrame->ShowWindow(SW_SHOW);
return TRUE;
}
和CMyFormView1,基类别选CDialog,一定要选择CFormView。
2.主对话框类MySplitterDlg.h中新增两个成员变量
CFrameWnd* m_pMyFrame; // 分隔窗口 CSplitterWnd m_cSplitter; // 左右分隔
3. CMySplitterDlg中增加WM_CREATE的消息响应,编辑OnCreate()
int CMySplitterDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialog::OnCreate(lpCreateStruct) == -1) return -1; // Because the CFRameWnd needs a window class, we will create a new one. I just copied the sample from MSDN Help. // When using it in your project, you may keep CS_VREDRAW and CS_HREDRAW and then throw the other three parameters. //需要注册窗口类 CString strMyClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, ::LoadCursor(NULL, IDC_ARROW), (HBRUSH) ::GetStockObject(WHITE_BRUSH), ::LoadIcon(NULL, IDI_APPLICATION)); // Create the frame window with "this" as the parent m_pMyFrame = new CFrameWnd; m_pMyFrame->Create(strMyClass,_T(""), WS_CHILD, CRect(0,0,300,300), this); m_pMyFrame->ShowWindow(SW_SHOW); // and finally, create the splitter with the frame as the parent m_cSplitter.CreateStatic(m_pMyFrame,1, 2); //在Frame里切分视图窗口为1×2,就是一行两列 m_cSplitter.CreateView(0,0, RUNTIME_CLASS(CMyFormView0), CSize(100,100), NULL);//第一行一列 m_cSplitter.CreateView(0,1, RUNTIME_CLASS(CMyFormView1), CSize(100,100), NULL);//第一行二列 return 0; }
4.在CMySplitterDlg::OnInitDialog()中显示Frame
int CMySplitterDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CRect cRect;
GetWindowRect(&cRect);
ScreenToClient(&cRect);
m_pMyFrame->MoveWindow(&cRect);
m_pMyFrame->ShowWindow(SW_SHOW);
return TRUE;
}
相关文章推荐
- 基于对话框的MFC程序中,实现非模态子窗口在任务栏显示图标以及窗口左上角加图标
- 关于在MFC中实用在基于对话框窗口上面绘制折线的实现方法
- 【MFC-10】VS2010/MFC基于对话框程序的登录窗口实现
- 《新手入门》 MFC基于对话框的窗口分割
- MFC基于对话框程序启动时隐藏窗口的实现
- VS2010 MFC中 窗口分割的实现
- 一个MFC小程序界面的实现思路(窗口分割)
- MFC的窗口分割的设计与实现
- MFC基于对话框 创建工具栏 工具栏提示 窗口同步缩放 拦截主界面Enter按下 窗口过程 菜单工具栏按钮变灰
- MFC基于单文档分割窗口
- mfc的项目里,想要实现点击tabcontrol的每个tab,切换到不同窗口显示不同摄像头的实时画
- 基于MFC窗口分割与通信
- MFC的窗口分割的设计与实现
- MFC中基于对话框程序快捷键的实现
- MFC 基于对话框的项目如何添加子对话框以及相关知识
- 如何实现基于MFC对话框的PCL显示(1)
- MFC中基于对话框程序快捷键的实现
- 隐藏基于对话框的MFC应用程序窗口的方法 (推荐这个方法,非常好用)
- MFC基于CSplitterWnd类的多窗口分割
- VC实现对话框窗口任意分割