vs2010环境下创建MFCOSG

合集下载

VS2010-MFC编程入门

VS2010-MFC编程入门

VS2010/MFC编程入门之前言分类标签: 编程入门VC++VS2010MFC鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。

但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。

鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。

C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。

本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。

VC++简介VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C ++是语言,而VC++是用C++语言编写程序的工具平台。

VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。

Visual Studio包含了VB、VC++、C#等编译环境。

当然我们在使用VC++ 6.0的时候为了轻便,总是只单独安装VC++ 6.0。

但自微软2002年发布Visual 以来,微软建立了在. NET框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NET Framework是必须的,也就不再有VC++的独立安装程序,不过可以在安装Visual Studio时只选择VC++进行安装。

VC++版本的选择:VS2010因为VC++ 6.0以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC++ 6. 0以后的版本为VC++ 7.0等等,而是用VC++所属的Visual Studio的版本名称代替,比如VS2003。

近些年VC++主要的版本包括:VC++ 6.0、VS2003、VS2005、VS2008和VS2010。

VS2010之MFC入门到精通教程(155全部)

VS2010之MFC入门到精通教程(155全部)

VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境第二部分:VS2010-MFC应用程序框架第三部分:对话框第四部分:常用控件第五部分:菜单、工具栏与状态栏第六部分:文档、视图和框架第七部分:MFC常用类第八部分:字体和文本输出第九部分:图形图像第十部分:Ribbon界面开发VS2010/MFC编程入门之前言鸡啄米的C++系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。

但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。

鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。

C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。

本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。

VC++简介VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台。

VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。

Visual Studio包含了VB、VC++、C#等编译环境。

当然我们在使用VC++ 6.0的时候为了轻便,总是只单独安装VC++ 6.0。

但自微软2002年发布Visual 以来,微软建立了在.NET框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NET Framework是必须的,也就不再有V C++的独立安装程序,不过可以在安装Visual Studio时只选择VC++进行安装。

VC++版本的选择:VS2010因为VC++ 6.0以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC ++ 6.0以后的版本为VC++ 7.0等等,而是用VC++所属的Visual Studio的版本名称代替,比如VS2003。

vs2010创建MFC-OSG

vs2010创建MFC-OSG

建立MFC+OSG界面的说明文档打开VS2010开发环境,新建项目,选择MFC---MFC应用程序,这里项目名称为osgmfc,如下图:点击确定,出现如下界面:点击下一步应用程序类型选择单文档点击下一步默认设置,点击下一步默认设置,点击下一步默认设置,点击下一步默认设置,点击下一步去掉控件前面的勾,此处osg不需要用到点击完成,生成MFC的框架,如下:在编译后的OSG源文件里面,找到这个文件夹,将目录下,并相应的添加进工程。

如下图:在stdafx.h中添加#include <process.h>,如下图:在view的头文件中加入下面的语句#include "MFC_OSG.h"cOSG *mOSG;HANDLE mThreadHandle;如下图所示:这里,切换到类视图,如下在view类中(这里是CosgmfcView)添加WM_CREATE的消息响应,右键点击CosgmfcView,出现属性设置框,如下图:重写OnInitialUpdate函数,如下图在osgmfcView.cpp文件当中出现以下代码:按下图添加代码:最后,加入必要的库,如下图:编译,运行。

如果出现以下错误:1>c:\documents and settings\administrator\桌面\osgmfc\osgmfc\mfc_osg.cpp(153) : error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型,可定位到AfxMessageBox("Exit Rendering Thread");,将其注释掉编译成功,运行效果如下:成功建立MFC+OSG开发环境!。

VisualStudio2010与OSG结合步骤

VisualStudio2010与OSG结合步骤

OSG+VS2010+win7环境搭建Win7下osg+vs2010环境搭建一.相关准备a) Osg源码当前最新版:OpenSceneGraph的3.0.0.zip下载链接:/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-3.0.0.zip b) Osg第三方库3rdParty_VC10_x86_x64.zip.au/~bchrist/3rdParty_VC10_x86_x64.zipc) 数据包当前最新版:OpenSceneGraph-Data-3.0.0.zip下载链接:/downloads/stable_releases/OpenSceneGraph-3.0/data/OpenSceneGraph-Data-3.0.0.zip d) 安装源码工具cmake-2.8.4-win32-x86.exe。

二、编译准备为了编译的顺利进行,将下载的文件组织如下:在C盘建立一个OSG的文件夹,然后其他文件如下放置:D:\OSG\OpenSceneGraph:源码解压后放于此D:\OSG\3rdParty:第三方依赖库解压后放于此D:\OSG\OpenScenGraph-Data-3.0.0.zip:数据包解压后放于此。

三.安装源码a) 安装CMake之后,打开CMake -gui.exeb) 源码OpenSceneGraph-3.0.0.zip解压后,将里头的CmakeLists.txt,拖到Cmake界面。

如图:c) 点击Configure,选择Visual Studio 10(x86),finish后进行相关设置:ACTUAL_3RDPARTY_DIR值D:/OSG/3rdParty;BUILD_OSG_EXAMPLES :ONCMAKE_INSTALL_PREFIX:D:/OSG/OpenSceneGraph/;如下图:e)点击Configure后,将Advanced打勾,将BUILD_MFC_ EXAMPLE设置为on,然后进行最后一次的Configure配置。

vs2010创建MFC+OSG并植入OSG代码

vs2010创建MFC+OSG并植入OSG代码

vs2010创建MFC+OSG点击完成后,生成的框架如下:去如下路径找到这两个文件,MFC_OSG.cppMFC_OSG.h将这两个文件复制到前面建立的工程目录下,并相应的添加进工程,如下图拷完之后要修改一下源代码,首先在stdafx.h开头添加#include<process.h>这一行代码在***View.h文件中增加三行代码:#include"MFC_OSG.h"cOSG* mOSG;CRenderingThread* mThreadHandle;然后切换到类视图,如下在view类中(这里是Cearth_testView)添加WM_CREATE的消息响应,右键点击CosgmfcView,出现属性设置框,如下图:属性对话框在最右侧点击这个按钮才会出现下面的函数添加WM_CREATE的消息响应【一开始是空的,鼠标点击填写】重写OnInitialUpdate函数点击这个按钮会出现重写的函数重写OnInitialUpdate函数点击后面空白手动输入OnInitialUpdate则会在earth_testView.cpp中的末尾处出现以下两个函数按下图添加如下代码:mOSG = new cOSG(m_hWnd);mOSG->InitOSG("cessna.osg"); mThreadHandle = new CRenderingThread(mOSG); mThreadHandle->start();配置Release下的库目录包含目录以及依赖项包含目录:osg文件下include文件夹:E:\win10\osgearth\osg\include 库目录:osg文件下lib文件夹:E:\win10\ osgearth\osg\libOpenThreads.libosg.libosgDB.libosgFX.libosgGA.libosgManipulator.libosgParticle.libosgShadow.libosgSim.libosgTerrain.libosgText.libosgUtil.libosgViewer.lib然后Ctrl+F5运行后,出现如下窗口,即连接成功。

VS2010 VS2008MFC openGL初始化

VS2010 VS2008MFC openGL初始化

VS2008和VS2010 OpenGL的MFC初始化(吐血整理)1.建立一个单文档工程XXX2.这时你会看见自动生成了很多的类,08和10版本的还是不一样,但是主要的类还是那么几个,我们主要关注的是XXXView类,首先得保证你的电脑包含了OpenGL工具包,没有的话自己下载个很方便。

查看方法安装路径下vc/include/GL看看有没有GL.h,glu.h,gluax.h,自己最好添加个glut.h.。

3.在stdafx.h头文件中,添加#include”GL/gl.h”, #include”GL/glu.h”,如果有glut.h的话就直接添加一句#include”GL/glut.h”就可以了。

4.在XXXView.h文件中加入所需的成员变量和函数:public:CClientDC *m_pDC;void InitOpengl();BOOL SetupPixelFormat(void);void DrawScene(void);5.在XXXView.cpp文件中,在CXXXView的构造函数中加入:m_pDC=NULL;6.在XXXView.cpp文件中,加入相应的成员函数(直接复制就行):void CXXXView::InitOpengl(){PIXELFORMATDESCRIPTOR pfd;int n;HGLRC hrc;m_pDC=new CClientDC(this);ASSERT(m_pDC != NULL);if(!bSetupPixelFormat())return;n=::GetPixelFormat(m_pDC->GetSafeHdc());::DescribePixelFormat(m_pDC->GetSafeHdc(), n,sizeof(pfd),&pfd);hrc=wglCreateContext(m_pDC->GetSafeHdc());wglMakeCurrent(m_pDC->GetSafeHdc(),hrc);glClearDepth(1.0f);glEnable(GL_DEPTH_TEST);}BOOL CXXXView::SetupPixelFormat(){static PIXELFORMA TDESCRIPTOR pfd ={sizeof(PIXELFORMATDESCRIPTOR),1,PFD_DRAW_TO_WINDOW |PFD_SUPPORT_OPENGL|PFD_DOUBLEBUFFER,PFD_TYPE_RGBA,24,0, 0, 0, 0, 0, 0,0,0,0,0, 0, 0, 0,32,0,0,PFD_MAIN_PLANE,0,0, 0, 0};int pixelformat;if((pixelformat = ChoosePixelFormat(m_pDC->GetSafeHdc(), &pfd)) == 0) {MessageBox("ChoosePixelFormat failed");return FALSE;}if(SetPixelFormat(m_pDC->GetSafeHdc(), pixelformat, &pfd) == FALSE) {MessageBox("SetPixelFormat failed");return FALSE;}return TRUE;}void CXXXView::DrawScene(void){//设置清屏颜色为黑色glClearColor(0.0f,0.0f,0.0f,0.0f);//清除颜色缓冲区和深度缓冲区glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//矩阵堆栈函数,和glPopMatrix()相对应添加你想要话的图形,如:glRectf(-0.5,-0.5,0.5,0.5);//画一个矩形;SwapBuffers(wglGetCurrentDC());//不能省略}7.在XXXView.cpp文件中,在PreCreateWindow函数中加入:cs.style |= WS_CLIPSIBLINGS | WS_CLIPCHILDREN;//比较重要8.在XXXView.cpp文件中,在OnDraw函数中加入:DrawScene();9.在CXXXView中,建立如下消息的映射函数:WM_CREATE, WM_DESTROY, WM_SIZE, WM_ERASEBKGND,并加入划线的代码,如下所示:int CXXXView::OnCreate(LPCREATESTRUCT lpCreateStruct){if (CView::OnCreate(lpCreateStruct) == -1)return -1;// TODO: Add your specialized creation code hereInitOpengl();return 0;}void CXXXView::OnDestroy(){CView::OnDestroy();// TODO: Add your message handler code hereHGLRC hrc;hrc = ::wglGetCurrentContext();::wglMakeCurrent(NULL,NULL);if(hrc)::wglDeleteContext(hrc);if(m_pDC)delete m_pDC;}BOOL CXXXView::OnEraseBkgnd(CDC* pDC){return TRUE;}void CXXXView::OnSize(UINT nType, int cx, int cy){CView::OnSize(nType, cx, cy);// TODO: Add your message handler code hereint w=cx;int h=cy;GLfloat nRange=1.0f;//避免除数为0if(h==0)h=1;//设置视口与窗口匹配glViewport(0,0,w,h);//重新设置坐标系统glMatrixMode(GL_PROJECTION);glLoadIdentity();//建立正交变换下的剪切体if(w<h)glOrtho(-nRange,nRange,-nRange*h/w,nRange*h/w,-nRange,nRange);elseglOrtho(-nRange*w/h,nRange*w/h,-nRange,nRange,-nRange,nRange);glMatrixMode(GL_MODELVIEW);glLoadIdentity();}需要注意的是08中没有类向导,需要右键你的类添加消息映射,最后祝大家学习愉快。

VS2010之MFC入门到精通教程

VS2010之MFC入门到精通教程

VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境VS2010/MFC编程入门之前言VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)第二部分:VS2010/MFC应用程序框架VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)VS2010/MFC编程入门之四(MFC应用程序框架分析)VS2010/MFC编程入门之五(MFC消息映射机制概述)第三部分:对话框VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)VS2010/MFC编程入门之七(对话框:为对话框添加控件)VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)VS2010/MFC编程入门之十(对话框:设置对话框控件的T ab顺序)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)VS2010/MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)VS2010/MFC编程入门之十六(对话框:消息对话框)VS2010/MFC编程入门之十七(对话框:文件对话框)VS2010/MFC编程入门之十八(对话框:字体对话框)VS2010/MFC编程入门之十九(对话框:颜色对话框)第四部分:常用控件VS2010/MFC编程入门之二十(常用控件:静态文本框)VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上)VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)VS2010/MFC编程入门之三十一(常用控件:树形控件Tree Control 下)VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)第五部分:菜单、工具栏与状态栏VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用)VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)VS2010/MFC编程入门之三十八(状态栏的使用详解)第六部分:文档、视图和框架VS2010/MFC编程入门之三十九(文档、视图和框架:概述)VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)第七部分:MFC常用类VS2010/MFC编程入门之四十二(MFC常用类:CString类)VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)第八部分:字体和文本输出VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)VS2010/MFC编程入门之四十八(字体和文本输出:文本输出)第九部分:图形图像VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)第十部分:Ribbon界面开发VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)VS2010/MFC编程入门之前言鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。

VS2010和MFC编程入门之3(VS2010应用程序工程中文件的组成结构)

VS2010和MFC编程入门之3(VS2010应用程序工程中文件的组成结构)

VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)这里将以前面的生成应用程序HelloWorld的文件结构为例,讲解VS2010应用程序工程中文件的组成结构。

用应用程序向导生成框架程序后,我们可以在之前设置的Location下看到以解决方案名命名的文件夹,此文件夹中包含了几个文件和一个以工程名命名的子文件夹,这个子文件夹中又包含了若干个文件和一个res文件夹,创建工程时的选项不同,工程文件夹下的文件可能也会有所不同。

如果已经以Debug方式编译链接过程序,则会在解决方案文件夹下和工程子文件夹下各有一个名为“Debug”的文件夹,而如果是Release方式编译则会有名为“Release”的文件夹。

这两种编译方式将产生两种不同版本的可执行程序:Debug版本和Release 版本。

Debug版本的可执行文件中包含了用于调试的信息和代码,而Release版本则没有调试信息,不能进行调试,但可执行文件比较小。

将所有文件分为6个部分:解决方案相关文件、工程相关文件、应用程序头文件和源文件、资源文件、预编译头文件和编译链接生成文件。

1.解决方案相关文件解决方案相关文件包括解决方案文件夹下的.sdf文件、.sln文件、.suo文件和ipch文件夹。

.sdf文件和ipch目录一般占用空间比较大,几十兆甚至上百兆,与智能提示、错误提示、代码恢复和团队本地仓库等相关。

如果你觉得不需要则可以设置不生成它们,方法是点击菜单栏Tools->Options,弹出Options对话框,选择左侧面板中Text Editor->C/C++->Advanced,右侧列表中第一项Disable Database由False改为True就可以了,最后关闭VS2010再删除.sdf文件和ipch目录以后就不会再产生了。

但关闭此选项以后也会有很多不便,例如写程序时的智能提示没有了。

.sln文件和.suo文件为MFC自动生成的解决方案文件,它包含当前解决方案中的工程信息,存储解决方案的设置。

VS2010-MFC编程入门解析

VS2010-MFC编程入门解析

VS2010-MFC编程入门之前言鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。

但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。

鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。

C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。

本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。

VC++简介VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台。

VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。

Visual Studio包含了VB、VC++、C#等编译环境。

当然我们在使用VC++ 6.0的时候为了轻便,总是只单独安装VC++ 6.0。

但自微软2002年发布Visual 以来,微软建立了在.NET 框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NET Framework是必须的,也就不再有VC++的独立安装程序,不过可以在安装Visual Studio时只选择VC++进行安装。

VC++版本的选择:VS2010因为VC++ 6.0以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC++ 6.0以后的版本为VC++ 7.0等等,而是用VC++所属的Visual Studio的版本名称代替,比如VS2003。

近些年VC++主要的版本包括:VC++ 6.0、VS2003、VS2005、VS2008和VS2010。

visual c++2010 mfc实例

visual c++2010 mfc实例

visual c++2010 mfc实例Visual C++2010是一款由微软开发的集成开发环境(IDE),用于编写Windows操作系统上的应用程序。

MFC(Microsoft Foundation Classes)是Visual C++中的一个类库,它提供了一系列的类和函数,方便开发者构建Windows图形界面应用程序。

在Visual C++2010中,可以利用MFC来创建各种各样的应用程序,包括窗口应用程序、对话框应用程序、文档视图应用程序等等。

下面我们来介绍一些MFC实例,概括地展示如何使用MFC来编写Windows应用程序。

1.窗口应用程序的创建:首先,打开Visual C++2010,选择“新建项目”,在弹出的对话框中选择“Visual C++”->“MFC”->“MFC应用程序”,填写要创建的项目的名称和存储位置,点击“确定”按钮。

接下来,在“应用程序类型”选项中,选择“单文档”、“多文档”或“无文档”视图,然后在“使用的特性”选项中,选择需要的功能(如ActiveX控件等),点击“完成”按钮即可创建窗口应用程序。

2.对话框应用程序的创建:打开Visual C++2010,选择“新建项目”,在弹出的对话框中选择“Visual C++”->“MFC”->“MFC应用程序”,填写要创建的项目的名称和存储位置,点击“确定”按钮。

在接下来的对话框中,选择“对话框”作为应用程序的初始视图,点击“完成”按钮即可创建对话框应用程序。

3.消息处理:在MFC中,可以通过重写消息处理函数来响应特定的消息。

在窗口或对话框类中,可以重写相关的消息处理函数,如OnPaint、OnMouseMove等,然后在这些函数中进行相应的操作。

4.绘图操作:在MFC中,使用CDC类进行绘图操作。

可以在OnPaint函数中使用CDC对话框上的绘图设备进行绘制,也可以在自定义的函数中使用CDC类进行绘图。

使用VS2010快速创建C程序编译环境

使用VS2010快速创建C程序编译环境

使用VS2010创建C程序
1、打开Microsoft Visual C++ 2010(学习版)→点击“新建
项目”来创建一个空工程;
2、选择“Win32控制应用程序”→创建一个名称“NewProject”的项目→“确定”;
3、“下一步”;
4、勾选“空项目”,其他默认→“完成”;
5、右键单击左侧“源文件”→“添加”→“新建项”;
6、选中“C++文件(.cpp)”→新建名为“new.c”的项(注意,务必在名称后面加上.c后缀,这是将C++程序转换成C
程序进行编译);
7、编写个C程序试试;
8、编译成功;
小贴士:
1、用VS编译C程序时,编译框很快就会消失。

如果我们在程序的最后加上一段代码:
system(“pause”);
VS就能想VC 6.0一样让编译框暂停下来。

2、如果在第5步中没有见到左侧边栏(如图一),则只需将
重置窗口布局即可(如图二、三);
图一
图二
图三。

visual c++2010 mfc实例

visual c++2010 mfc实例

visual c++2010 mfc实例MFC(Microsoft Foundation Classes)是微软公司为Windows操作系统开发的一套基于C++的编程框架,它允许开发人员使用面向对象的方式构建Windows应用程序。

在Visual C++ 2010中,MFC库得到了全面的支持,提供了丰富的工具和功能,可以快速开发Windows界面应用程序。

MFC实例的一个常见应用是创建一个基本的窗口应用程序。

下面我们来看一个简单的实例,展示如何使用Visual C++ 2010 MFC创建一个窗口应用程序。

首先,打开Visual C++ 2010,选择“新建项目”并选择“MFC应用程序”。

在下一步中,选择“对话框”作为应用程序类型,并为项目命名。

接下来,我们需要设计一个用户界面。

在MFC中,用户界面是通过对话框来实现的。

双击“resource.h”文件,打开资源编辑器。

在资源编辑器中,可以创建对话框,并在其中添加所需的控件,比如按钮、标签等。

可以使用拖放的方式将这些控件添加到对话框中,并设置它们的属性。

在窗口应用程序中,通常需要在用户点击按钮时执行某些操作。

在资源编辑器中双击某个按钮,会自动为这个按钮生成一个事件处理函数。

在这个函数中,可以编写所需的逻辑代码。

例如,可以在点击按钮时显示一个消息框,可以使用以下代码来实现:```void CMyDialog::OnButtonClick(){MessageBox(L"Hello, World!", L"提示", MB_OK);}```这个函数会在用户点击按钮时被调用,并显示一个消息框。

在完成界面设计和事件处理函数编写后,还需要修改应用程序的入口点。

打开“MainFrm.cpp”文件,找到“CMainFrame::OnCreate”函数。

在这个函数中,会创建主窗口。

可以在此处设置主窗口的标题、样式等属性。

最后,点击“生成”菜单中的“生成解决方案”选项,编译并运行应用程序。

Visual Studio 2010 MFC框架结构设计

Visual Studio 2010 MFC框架结构设计
代码如下:
protected:
DECLARE_MESSAGE_MAP()
CViewTree m_wndViewTree;
同样方法为CPersonView添加如下两个变量:
CImageList m_PersonViewImages;
CPersonViewToolBar m_wndToolBar;
接下来我们要为CPersonView添加一个弹出式菜单方法是:选择资源视图(视图)
m_wndViewTree.InsertItem(_T("FakeApp.ico"), 2, 2, hRes);
m_wndViewTree.InsertItem(_T("FakeApp.rc2"), 2, 2, hRes);
m_wndViewTree.InsertItem(_T("FakeAppDoc.ico"), 2, 2, hRes);
CBitmap bmp;
if(!bmp.LoadBitmap(uiBmpId))
{
TRACE(_T("无T法¤¡§加¨®载?位?图ª?: %x\n"), uiBmpId);
ASSERT(FALSE);
return;
}
BITMAP bmpObj;
bmp.GetBitmap(&bmpObj);
UINT nFlags = ILC_MASK;
ASSERT_VALID(pWndTree);
if(pWnd != pWndTree)
{
CDockablePane::OnContextMenu(pWnd, point);
return;
}
if(point != CPoint(-1, -1))

VS2010之MFC入门到精通教程

VS2010之MFC入门到精通教程

VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境第二部分:VS2010/MFC应用程序框架第三部分:对话框第四部分:常用控件第五部分:菜单、工具栏与状态栏第六部分:文档、视图和框架第七部分:MFC常用类第八部分:字体和文本输出第九部分:图形图像第十部分:Ribbon界面开发VS2010/MFC编程入门之前言鸡啄米的C++系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。

但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。

鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。

C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。

本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。

VC++简介VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台。

VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。

Visual Studio包含了VB、VC++、C#等编译环境。

当然我们在使用VC++ 的时候为了轻便,总是只单独安装VC++ 。

但自微软2002年发布Visual 以来,微软建立了在.NET框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NET Framework是必须的,也就不再有VC++的独立安装程序,不过可以在安装Visual Studio时只选择VC++进行安装。

VC++版本的选择:VS2010因为VC++ 以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC++以后的版本为VC++ 等等,而是用VC++所属的Visual Studio的版本名称代替,比如VS 2003。

vs2010mfc课程设计

vs2010mfc课程设计

vs2010mfc课程设计一、课程目标知识目标:1. 学生能理解VS2010 MFC的基本概念,掌握MFC框架的构成及其功能。

2. 学生能掌握使用VS2010 MFC创建Windows应用程序的基本步骤和方法。

3. 学生能了解并运用MFC中的常用控件,如按钮、文本框、列表框等。

技能目标:1. 学生能运用VS2010 MFC开发环境创建简单的Windows应用程序。

2. 学生能通过MFC控件进行界面设计,实现基本的用户交互功能。

3. 学生能运用调试工具对MFC应用程序进行调试和错误排查。

情感态度价值观目标:1. 培养学生对编程的兴趣,提高他们学习计算机技术的积极性。

2. 培养学生的团队协作意识,使他们学会在项目开发中与他人合作。

3. 培养学生严谨、细致的学习态度,使他们养成良好的编程习惯。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为计算机专业选修课程,旨在让学生掌握VS2010 MFC 的开发技能。

2. 学生特点:学生已具备一定的C++编程基础和Windows操作系统知识。

3. 教学要求:结合学生特点和课程性质,注重实践操作,培养学生的动手能力。

1. VS2010 MFC基础入门- MFC概述:介绍MFC的概念、发展历程和应用领域。

- MFC程序结构:分析MFC程序的构成,包括项目文件、源文件、头文件等。

2. MFC应用程序创建与调试- 创建MFC应用程序:学习使用VS2010创建MFC应用程序的方法。

- 调试MFC应用程序:掌握使用调试工具进行程序调试的技巧。

3. MFC界面设计与控件使用- 界面设计:学习MFC界面设计的基本原则和方法。

- 常用控件:学习并实践MFC中的常用控件,如按钮、文本框、列表框等。

4. MFC事件处理与消息映射- 事件处理:了解MFC中事件处理机制,学习如何为控件添加事件处理函数。

- 消息映射:掌握MFC消息映射表的使用,学习如何处理自定义消息。

5. 实践项目:开发一个简单的MFC应用程序- 实践项目安排:将教学内容应用于实际项目中,巩固所学知识。

基于vs2010-mfc简易串口数据波形显示软件(入门篇)

基于vs2010-mfc简易串口数据波形显示软件(入门篇)

基于vs2010-mfc简易串口数据波形显示软件(入门篇)软件版本vs2010旗舰版文件—新建—项目选择基本对话框语言—美国英语,若选择中国汉语,可能这版本没破解好,会有些问题。

后面就一直下一步,直到完成。

在右边工具箱中,添加下面需要用到的控件。

如下图右击类向导---项目com 类名CcomDlg。

点击成员变量,分别给他们添加变量名。

添加完如下图:添加串口控件。

右击插入Active控件(X),找到如下确定。

界面出现串口控件(小电话一样的东东)点击串口控件(小电话)右键添加变量,输入变量名m_mscomm ,同时下方出现mscomm1.h 和mscomm1.cpp,点击确定,坐标目录生成该两个文件点击菜单栏工具---选择工具箱项(X)--点击COM组件,浏览找到TeeChart8.ocx,可由网上下载。

然后添加如下之后再工具箱中最下面便可看到该控件接下来拉出图形界面。

进入类向导,点击右上角 添加类(C)—>类型库中的MFC类(T)…添加这5个类这里有很多这里有很多这里有很多在comDlg.cpp文件中添加头文件#include"CTChart.h"#include"CAxis.h"#include"CAxes.h"#include"CScroll.h"#include"CSeries.h"双击teechart,添加曲线Add这里模板很丰富,这里我们选择FastLine标题命名、初值点设置Data中、左轴底轴显示设置在Axis中,以及其他功能到此,基本框架已经搭好了 后面添加程序 双击打开串口按钮添加代码如下:void CcomDlg::OnBnClickedButtonOpen(){// TODO: 在此添加控件通知处理程序代码if( !m_mscomm.get_PortOpen()){m_mscomm.put_PortOpen(true);SetDlgItemText(IDC_BUTTON_OPEN,_T("关闭串口"));AfxMessageBox(_T("串口打开成功"));}else{m_mscomm.put_PortOpen(FALSE);SetDlgItemText(IDC_BUTTON_OPEN,_T("打开串口"));}}双击发送按钮。

VS2010和MFC编程入门之36(工具栏:工具栏资源及CToolBar类)

VS2010和MFC编程入门之36(工具栏:工具栏资源及CToolBar类)

VS2010MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)菜单及CMenu类的使用,这里讲与菜单有密切联系的工具栏。

工具栏简介工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成。

当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息。

一般工具栏中的按钮在菜单栏中都有对应的菜单项中,即点击工具栏按钮与点击菜单项的效果相同。

但工具栏中的按钮都显式的排列出来,操作很方便,而且按钮上的图片描述功能更直观,所以工具栏作为用户操作接口来说比菜单更加便捷。

VS2010工具栏资源详解鸡啄米仍然以VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)中创建的单文档工程Example34为基础,讲解工具栏资源。

在Example34工程中,打开Resource View资源视图,展开Example->Example34.rc->Toolbar,我们可以看到有一个ID为IDR_MAINFRAME的工具栏资源,双击打开,工具栏资源显示如下:以IDR_MAINFRAME工具栏的第一个按钮为例说明工具栏按钮的各项属性。

用鼠标单击工具栏资源上的第一个按钮,属性页中就会显示其属性。

下面分别讲解各项属性。

ID属性:ID_。

不知大家是否还记得,菜单IDR_MAINFRAME的菜单项File->New的ID也是ID_,两者ID相同,正是如此才使得工具栏第一个按钮与菜单项File->New能实现相同的功能。

所以大家一定要记住,如果想让工具栏某个按钮与菜单栏某个菜单项点击后执行的操作相同,就要为两者设置相同的ID。

Prompt属性:Create a new document\nNew。

此属性为工具栏按钮的提示文本。

在鼠标指向此按钮时,状态栏中会显示“Create a new document”,当弹出提示信息窗口时会显示包含“New”的提示信息。

VS2010_MFC编程入门教

VS2010_MFC编程入门教

VS2010/MFC编程入门教程之目录第一部分:VS2010/MFC开发环境VS2010/MFC编程入门之前言VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)第二部分:VS2010/MFC应用程序框架VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)VS2010/MFC编程入门之四(MFC应用程序框架分析)VS2010/MFC编程入门之五(MFC消息映射机制概述)第三部分:对话框VS2010/MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)VS2010/MFC编程入门之七(对话框:为对话框添加控件)VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)VS2010/MFC编程入门之九(对话框:为控件添加消息处理函数)VS2010/MFC编程入门之十(对话框:设置对话框控件的Tab顺序)VS2010/MFC编程入门之十一(对话框:模态对话框及其弹出过程)VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)VS2010/MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)VS2010/MFC编程入门之十四(对话框:向导对话框的创建及显示)VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)VS2010/MFC编程入门之十六(对话框:消息对话框)VS2010/MFC编程入门之十七(对话框:文件对话框)VS2010/MFC编程入门之十八(对话框:字体对话框)VS2010/MFC编程入门之十九(对话框:颜色对话框)第四部分:常用控件VS2010/MFC编程入门之二十(常用控件:静态文本框)VS2010/MFC编程入门之二十一(常用控件:编辑框Edit Control)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)VS2010/MFC编程入门之二十七(常用控件:图片控件Picture Control)VS2010/MFC编程入门之二十八(常用控件:列表视图控件List Control 上)VS2010/MFC编程入门之二十九(常用控件:列表视图控件List Control 下)VS2010/MFC编程入门之三十(常用控件:树形控件Tree Control 上)VS2010/MFC编程入门之三十一(常用控件:树形控件Tree Control 下)VS2010/MFC编程入门之三十二(常用控件:标签控件Tab Control 上)VS2010/MFC编程入门之三十三(常用控件:标签控件Tab Control 下)第五部分:菜单、工具栏与状态栏VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)VS2010/MFC编程入门之三十五(菜单:菜单及CMenu类的使用)VS2010/MFC编程入门之三十六(工具栏:工具栏资源及CToolBar类)VS2010/MFC编程入门之三十七(工具栏:工具栏的创建、停靠与使用)VS2010/MFC编程入门之三十八(状态栏的使用详解)第六部分:文档、视图和框架VS2010/MFC编程入门之三十九(文档、视图和框架:概述)VS2010/MFC编程入门之四十(文档、视图和框架:各对象之间的关系)VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)第七部分:MFC常用类VS2010/MFC编程入门之四十二(MFC常用类:CString类)VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)第八部分:字体和文本输出VS2010/MFC编程入门之四十七(字体和文本输出:CFont字体类)VS2010/MFC编程入门之四十八(字体和文本输出:文本输出)第九部分:图形图像VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)第十部分:Ribbon界面开发VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)VS2010/MFC编程入门之前言鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

建立MFC+OSG界面的说明文档
打开VS2010开发环境,新建项目,选择MFC---MFC应用程序,这里项目名称为osgmfc,如下图:
点击确定,出现如下界面:
点击下一步
应用程序类型选择单文档点击下一步
默认设置,点击下一步
默认设置,点击下一步
默认设置,点击下一步
默认设置,点击下一步
去掉控件前面的勾,此处osg不需要用到
点击完成,生成MFC的框架,如下:
在编译后的OSG源文件里面,找到这个文件夹,将
目录下,并相应的添加进工程。

如下图:
在stdafx.h中添加#include <process.h>,如下图

在view的头文件中加入下面的语句
#include "MFC_OSG.h"
cOSG *mOSG;
HANDLE mThreadHandle;
如下图所示:
这里,切换到类视图,如下
在view类中(这里是CosgmfcView)添加WM_CREATE的消息响应,右键点击CosgmfcView,出现属性设置框,如下图:
重写OnInitialUpdate函数,如下图
在osgmfcView.cpp文件当中出现以下代码:
按下图添加代码:
最后,加入必要的库,如下图:
编译,运行。

如果出现以下错误:1>c:\documents and settings\administrator\桌面
\osgmfc\osgmfc\mfc_osg.cpp(153) : error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型
,可定位到AfxMessageBox("Exit Rendering Thread");,将其注释掉
编译成功,运行效果如下:
成功建立MFC+OSG开发环境!。

相关文档
最新文档