最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

天天快看:Visual Studio下创建MFC项目,并结合OpenGL实现一个小程序

来源:博客园

Visual Studio下创建MFC项目,并结合OpenGL实现一个小程序

一:自己的理解

MFC:是微软的一个桌面应用程序架构,在里面可以轻松调用已经实现好的API,比如对鼠标和键盘的相应等。

将OpenGL放到MFC框架当中,在MFC中完成OpenGL的初始化,使用MFC的消息响应函数控制OpenGL场景漫游,绘制模式的改变,实现相应的功能。


(资料图片仅供参考)

有问题的小伙伴可以在下面留言 >_< 交流邮箱 1410608759@qq.com

二:环境

Visual Studio 2019

OpenGL:是基础的图形绘制库,有很多实现版本,这里使用的是GLEW。

三:配置步骤

所需资源见下述百度网盘链接

链接:https://pan.baidu.com/s/1bKtF_VS3Je8bsBHpLLn6zA 提取码:lr2i

3.1:下载Visual Studio

推荐下载visual studio2019

运行下载程序:vs_community__b137843c13f44921b06a468921cea3fc,选择安装Visual Studio 2019,并勾选MFC组件。详细过程见下述链接。

在vs2019上安装MFC-百度经验 (baidu.com)

3.2:创建项目并进行配置

1:创建MFC项目。

——》运行Visual Studio,点击创建新项目

——》在搜索框搜索MFC,并选择搜索结果点击下一步

——》为新项目命名,并选择项目存储位置

——》按照下述两图对项目进行设置,最后点击完成

——》创建完成后会在Visual Studio中自动打开项目,修改项目环境为x64。

2:配置MFC

——》在项目文件夹下新建include和lib文件夹,并将百度网盘中对应的内容放置到两个文件夹下

——》右击解决方案名称选择属性进行配置

——》点击调试项,并修改右侧的工作目录为项目文件夹目录

——》点击VC++项,并修改右侧包含目录和库目录为新创建的include和lib目录

——》点击链接器,选择输入,修改附加依赖项。最后依次点击确定,完成配置。

——》点击顶部的调试器按钮,运行程序。正常运行会出现以下结果。

——》在项目文件夹下会生成x64文件夹,将百度网盘中的glew32.dll文件放置到Debug文件夹下。并再次运行程序。

3:添加代码

——》点击源文件——》点击添加——》类

——》按照如下方法依次添加百度网盘的各类。一个类包含一个头文件.h和实现文件.cpp,在创建的时候会同时创建。注意名称最好和百度网盘中的保持一直,这样点击确定之后就可以直接将内容复制过来。

4:修改View.cpp文件。创建MFC项目之后,会有三个主类,假设你的项目名称为 MyProjection,则会有MyProjection、MyProjectionDoc、MyProjectionView三个主类。这里主要修改View类。修改的主要目的是初始化OpenGL一些操作,并添加一些响应函数,比如鼠标,键盘等的相应函数用来控制OpenGL场景。这里将修改后的代码放到百度网盘中,可以对照着进行修改,修改或添加的地方已经用//**********符号框起来。只需修改这些部分即可。注意在.h中添加成员变量或函数成员之后还需要在.cpp文件中实现。

5:添加消息响应函数。

——》点击Visual Studio顶部视图按钮,并点击类视图,这样在右方就会出现类视图按钮,点击项目名称找到MyProjectionView类,并右击选择属性。

——》点击下方小窗格,添加一些消息响应函数。消息相应函数名称在百度网盘的View.h文件中,如下右图所示。

——》注意拿OnCreate消息相应函数来说,它对应的消息名称为WM_CREATE,其他消息的对应关系是类似的。找到之后点击右边灰色小箭头选择添加,之后在View.h和View.cpp中就可以找到该函数的声明与实现。这个过程是自动的,当添加完所有的消息响应函数之后,View.h中的内容就和上右图一样了。然后就可以按照百度网盘中的代码进行修改了。

6:修改Ribbon工具栏。

——》点击Visual Studio顶部的视图按钮,并选择其他窗口中的资源视图,选择之后在右方就会出现资源视图按钮。按照下图进行选择,并双击IDR_RIBBON。

——》可以修改窗口的组件,右击相应的组件可以删除。这里我们清除掉所有的组件。然后在左侧的工具箱中选择按钮拖动到窗口中进行添加。如下中图和右图所示。

——》为Button1添加消息相应函数。可以按照需要修改名字,点击Button1,在右下角可以看到它的属性,这里我们修改描述文字为3D,如下左图所示。然后右击3D按钮选择添加事件处理程序。修改类列表为View类,如下右图所示。点击确定,此时在View.h和View.cpp中会自动添加这个消息相应函数的头文件和实现文件。

——》按照百度网盘中View.h和View.cpp文件内容修改相应内容。

这样就完成了整个流程。最后点击顶部运行,得到如下结果。点击3D按钮,实现一个球体的绘制。项目中鼠标移动控制还未实现,可以使用键盘 W(前进) S(后退) A(左转) D(右转) Z(抬高) X(降低) F(改变绘制模式)

关键词: 响应函数 如下右图 运行程序