对1中生成的对话框进行相关的设置:
- 添加图框、文本、按钮
- 对其ID和属性进行了相应的设置
测试效果如下:现在进一步地完善其功能:
首先导入一些要用的bitmap
添加资源并修改ID:
现在开始设置 类和函数,主界面只有四个操作,ID分别为4、5、6、9,但是对话框应该也有初始化操作,所以先双击对话框试试:
- 没反应,好叭。那就直接从解决方案管理器入手
现在解决方案管理器里有3个cpp,一个是之前说的PCH,这个预编译文件可以一劳永逸,这也是我们需要修改的:
- 新版本的VS用PCH替代了stdafx
还有两个cpp: - CGITS.cpp: 定义应用程序的类行为。(查看老项目,这里面包含了多个对话框头文件,设置了读取路径、各个对话框的进入响应。应该是APP的初始化)
- CGITSDlg.cpp: 实现文件(这部分是主界面的具体初始化、与功能响应,只包含预编译头文件、自己的头文件、和上述的APP头文件)
按照这两个cpp的逻辑顺序,应该先写哪一个?主要是其他的对话框并没有建好,APP.cpp不能全写好(暂时没法识别一些变量和函数),Dlg.cpp相对独立,直接写,应该可以运行,如果不能运行,再写入APP中的相关代码。
Dlg.cpp的写入:
- 首先要注意的是,#include "stdafx.h"应该替换为#include “pch.h”
打开cpp,发现相关的头文件和基础的函数已经构造好:甚至多了几个头文件
观察了一下,这两个头文件应该是设置环境参数的,创建本项目的电脑肯定能运行,移植到其他的环境可能需要在这里修改
因为cpp文件的一些函数已经构造好,我们不能对原项目的代码直接进行复制粘贴,因为版本差异较大,可能函数有出入。所以我们对VS2019中逐个函数进行添加,最后再在VS2008原项目中查看有没有漏掉的设置、功能:
在函数中插入代码时,发现原为CDialog,而现在为CDialogEx,新函数没有看到析构函数(析构函数需要我们自己写吗?这里先认为不用写,后续出问题再继续考虑这一点)。此外,这些变量都不是在这里声明的,报错了
我们先找到变量声明的地方(原文件转到定义):
- 恍然大悟。。。。我们还没写头文件呢!!!手上的活停一停,转到CGITSDlg.h : 头文件!
其他地方语法略有改变,但意义相同,不同的地方就在于最后一层Public:
新的只有
然而新的这一行代码,在旧代码中没有找到。。。
先把旧代码添加上再说!!!结果,存在未定义:
现在找其定义位置:结果转到了它的cpp文件!!!
- 反正现在.h已经写好了,先去cpp添加,有报错的再逐个击破!
- 果然有几个未定义问题找到定义是在CPP.h中,所以我们现在不用急,先把该有的东西正好
至此,Dlg.cpp.h都写完了,现在对逐个报错进行修改(有的是还有在其他地方声明的变量,有的是未引入函数、有的是需要连接后续功能没有开发(可以先注释掉,后续再打开))