一、选择MFC应用程序
二、配置新项目
三、应用程序类型
四、后面都选择默认,直接点击完成就行
五、类向导,添加一个双击消息
1、项目--类向导
2、命令:处理ON_COMMAND消息
3、消息:除了COMMAND消息以外的消息
4、代码自动添加相应的头文件和源文件
void CMFC单文档View::OnLButtonDblClk(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CView::OnLButtonDblClk(nFlags, point); }
5、双击弹出一个对话框
AfxMessageBox("我被双击了!!");
六、添加一个菜单项
1、将bucuo的属性ID修改为ID_bucuo
2、打开类向导,类名除了日志类,其他四个都可以,选择命令,并搜索刚添加的ID,然后双击,弹出要写函数名,点击确定,代码会自动生成
void CMainFrame::OnBucuo() { // TODO: 在此添加命令处理程序代码 }
七、类向导实现切割
1、在框架类实现虚函数,找到OnCreateClient,重写,点击确定,代码自动填写
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: 在此添加专用代码和/或调用基类 return CFrameWnd::OnCreateClient(lpcs, pContext); }
2、添加成员变量,手写或者添加成员变量都可以
public: afx_msg void OnBucuo(); virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); CSplitterWnd split; };
3、实现代码,在框架类包含视图头文件,在视图头文件包含文档头文件
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: 在此添加专用代码和/或调用基类 split.CreateStatic(this, 2, 1); split.CreateView(0, 0, RUNTIME_CLASS(CMFC单文档View), CSize(100, 100),pContext); split.CreateView(1, 0, RUNTIME_CLASS(CMFC单文档View), CSize(100, 100), pContext); return TRUE; //如果返回,相当于又重新加了一个完整视图 //return CFrameWnd::OnCreateClient(lpcs, pContext); }
4、运行结果: