MFC应用程序单文档及类向导的使用

简介: MFC应用程序单文档及类向导的使用

一、选择MFC应用程序


0a2653c851af460fa595bd959398a8f1.png


二、配置新项目


0eacb84100b54626af849e6b562bf92a.png


三、应用程序类型


2d65d23f6d4748949b924e4057485923.png


四、后面都选择默认,直接点击完成就行


五、类向导,添加一个双击消息


1、项目--类向导


2e9b90b2ca334476abebe75bafe6eeaa.png


2、命令:处理ON_COMMAND消息


3、消息:除了COMMAND消息以外的消息


4、代码自动添加相应的头文件和源文件


void CMFC单文档View::OnLButtonDblClk(UINT nFlags, CPoint point)
{
       // TODO: 在此添加消息处理程序代码和/或调用默认值
       CView::OnLButtonDblClk(nFlags, point);
}

5、双击弹出一个对话框


AfxMessageBox("我被双击了!!");


4cebaac233b3433da32a72337a77fc60.png


六、添加一个菜单项


1、将bucuo的属性ID修改为ID_bucuo


0a2653c851af460fa595bd959398a8f1.png


2、打开类向导,类名除了日志类,其他四个都可以,选择命令,并搜索刚添加的ID,然后双击,弹出要写函数名,点击确定,代码会自动生成


0eacb84100b54626af849e6b562bf92a.png


void CMainFrame::OnBucuo()
{
       // TODO: 在此添加命令处理程序代码
}

2d65d23f6d4748949b924e4057485923.png


七、类向导实现切割


1、在框架类实现虚函数,找到OnCreateClient,重写,点击确定,代码自动填写


2e9b90b2ca334476abebe75bafe6eeaa.png


BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
       // TODO: 在此添加专用代码和/或调用基类
       return CFrameWnd::OnCreateClient(lpcs, pContext);
}

2、添加成员变量,手写或者添加成员变量都可以


0a2653c851af460fa595bd959398a8f1.png


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、运行结果:

0eacb84100b54626af849e6b562bf92a.png

目录
相关文章
|
存储 程序员 编译器
|
计算机视觉
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
2820 0
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
|
存储 网络协议 C语言
一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
1623 0
|
关系型数据库 MySQL Windows
mysql彻底卸载干净的5个步骤,超多图超详细保姆级教程最新教程新手小白轻松上手
mysql彻底卸载干净的5个步骤,超多图超详细保姆级教程最新教程新手小白轻松上手
27196 2
|
6月前
|
SQL Java 数据库连接
Java 期末考试救急必备涵盖绝大多数核心考点及五大类经典代码助你过关
本文为Java期末考试复习指南,涵盖基础语法、面向对象编程、异常处理、文件操作、数据库连接五大核心考点,提供详细解析与实用代码示例,助力快速掌握重点,高效备考,轻松应对考试。
340 0
|
Web App开发 缓存 安全
Microsoft Edge 五个神级插件
Microsoft Edge 五个神级插件
3645 0
Microsoft Edge 五个神级插件
|
安全 测试技术 C++
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
最近用到了gRPC,配置了很长时间,分享一下配置过程。先来看一下我准备的文件包(资源我放在最后)
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
12333 5
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
UED
【Qt 学习笔记】Qt窗口 | 工具栏 | QToolBar的使用及说明
【Qt 学习笔记】Qt窗口 | 工具栏 | QToolBar的使用及说明
2408 2