作者: | 来源:互联网 | 2024-10-14 20:03
我想不起来第一次看见你的时候,你穿的衣服是什么颜色,是晴天还是雨天,因为我从未想到,那天之后我会这么喜欢你。。。
---- 网易云热评
一、选择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、运行结果:

欢迎关注公众号:顺便编点程

