VS2010和MFC编程入门之2(利用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-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开发环境!。
MFC编程基础教程
MFC编程基础教程MFC(Microsoft Foundation Classes)是一套基于C++的应用程序框架,用于开发可视化的Windows应用程序。
MFC提供了丰富的工具和类库,使程序开发人员能够更加轻松地创建Windows应用程序。
一、MFC框架的介绍MFC是一种C++编程框架,用于开发Windows应用程序。
MFC提供了一系列的类和方法,用于处理窗口、消息处理、资源管理等常见的任务。
MFC框架的核心是一个称为CWinApp的类,它是应用程序的入口点。
二、MFC的基本概念1.窗口:MFC使用窗口来显示应用程序的用户界面。
窗口可以是主窗口、对话框、工具栏、菜单等。
2.消息处理函数:MFC使用消息机制来处理用户输入和系统事件。
消息处理函数是在收到特定的消息时执行的代码块。
3.控件:控件是用于用户交互的窗口元素,例如按钮、文本框、列表框等。
4.对象模型:MFC使用面向对象的概念来管理窗口和控件。
每个窗口或控件都是一个C++对象,有自己的属性和方法。
三、MFC应用程序的创建1.创建一个MFC应用程序的步骤:a. 新建项目:在Visual Studio中创建一个MFC应用程序项目。
c.编写代码:编写消息处理函数和其他代码,实现应用程序的功能。
d.编译和运行:编译项目并运行应用程序。
四、MFC消息处理1.应用程序的消息循环:MFC应用程序的消息循环负责接收和处理用户输入和系统事件。
2.消息映射表:消息映射表是一个用于将消息与消息处理函数关联的数据结构。
3.常见的消息类型:MFC提供了大量的消息类型,包括鼠标和键盘消息、窗口消息、菜单消息等。
五、MFC控件的使用1.控件的创建和操作:使用MFC提供的类和方法来创建和操作控件。
2.控件的属性设置:通过设置控件的属性来改变它的外观和行为。
3.控件事件的处理:通过处理控件的事件来响应用户的操作。
六、MFC对话框的使用2.对话框控件的操作:对话框中的控件可以像其他控件一样进行操作。
VS2010之MFC入门到精通教程(1-55全部)
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++语言在语法和设计思想上应该有了一定的了解了。
VC使用MFC创建应用程序框架操作步骤
服务器端口
静态文本 static text
IDC_STATIC_MSG
消 息
静态文本 static text
IDC_STATIC_SENT
发送的消息
静态文本 static text
IDC_STATIC_RECEIVED
接收的消息
编辑框 edit box
IDC_EDIT_SERVNAME
8.添加事件函数和成员函数的代码 主要在CTalkcDlg对话框类的talkcDlg.cpp中和CMySocket类的Mysocket.cpp中添加用户自己的事件函数和成员函数的代码要注意这些函数的框架已经在前面的步骤中由VC++的向导生成只要将用户自己的代码填入其中即可 9.进行测试 测试应分步进行在上面的步骤中每作一步都可以试着编译执行
CListBox
IDC_LIST_RECEIVED
m_listRecetved
Control
CListBox
定义了一个枚举变量IDD值为IDD_TALKC_DIALOG这个对话框类就是通过这个IDD和对话框资源建立了联系
CTalkcDlg类的构造函数
类向导生成的对话框控件和对应的控件变量的映射语句
3出现MFC AppWizard设置的第二步对话框MFC AppWizards – Step 2 of 4如图所示在Windows Sockets复选框上打上选择标记表示应用程序将支持WinSock套接字接受其它的默认设置跳过后面的步骤直接点击Finsh按钮
4出现新工程信息对话框New Project Information说明了所创建的骨架工程的有关信息如图所示
创建客户端应用程序采用对话框架构 1.使用MFC AppWizard创建客户端应用程序框架 1在New对话框中选择Projects卡如图所示选MFC AppWizardexe 在Project Name处填入工程名Talkc在Location处选定存放此工程的目录然后点击OK按钮
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++语言在语法和设计思想上应该有了一定的了解了。
mfc单文档例子
mfc单文档例子以下是一个简单的MFC单文档(SDI)应用程序的示例:1. 首先,创建一个新的MFC应用程序项目。
在Visual Studio中,选择“文件”菜单,然后选择“新建”->“项目”。
在“新建项目”对话框中,选择“MFC应用程序”,然后输入项目名称和位置,并单击“确定”。
2. 在“MFC应用程序向导”中,选择“单文档”作为应用程序类型,并单击“完成”按钮。
3. 在生成的代码中,找到`CMainFrame`类。
这是应用程序的主窗口类。
4. 在`CMainFrame`类的`OnCreateClient`函数中,添加以下代码:```cppvoid CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext pContext){// 创建视图窗口m_(_T("My View"), WS_CHILD WS_VISIBLE WS_BORDERWS_HSCROLL WS_VSCROLL, CRect(0, 0, 800, 600), this,ID_VIEW_WIN);}```5. 在`CMainFrame`类的`OnCreate`函数中,添加以下代码:```cppBOOL CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) {if (CFrameWnd::OnCreate(lpCreateStruct) == -1)return -1;// 创建工具栏和状态栏CToolBarCtrl tb;CRect rect(0, 0, 800, 24);(WS_CHILD WS_VISIBLE CBRS_TOP CBRS_GRIPPERCBRS_TOOLTIPS CBRS_FLYBY, rect, this, ID_VIEW_TB);m_(WS_CHILD WS_VISIBLE CBRS_TOP CBRS_GRIPPER CBRS_TOOLTIPS CBRS_FLYBY, rect, this, ID_VIEW_TB);m_(this);m_(0, ID_VIEW_STATUSBAR, SBPS_STRETCH, 0);m_(1, ID_VIEW_STATUSBAR2, SBPS_STRETCH, 0);m_(2, ID_VIEW_STATUSBAR3, SBPS_STRETCH, 0);m_(0, SBPS_NORMAL);m_(1, SBPS_NORMAL);m_(2, SBPS_NORMAL);m_(0, _T("Ready"));m_(1, _T("Ready"));m_(2, _T("Ready"));return TRUE;}```6. 编译并运行应用程序。
VS2020和MFC编程入门之2(利用MFC向导生成单文档应用程序框架)
VS2020/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)这里给大伙儿一个简单的例子,演示如何生成单文档应用程序框架。
解决方案与工程在VS2020的利用介绍中已经讲了解决方案与工程的概念,那个地址再重提一下。
每一个应用程序都作为一个工程来处置,它包括了头文件、源文件和资源文件等,这些文件通过工程集中治理。
在VS2020中,工程都是在解决方案治理之下的。
一个解决方案能够治理多个工程,能够把解决方案明白得为多个有关系或没有关系的工程的集合。
VS2020提供了一个Solution Explorer解决方案阅读器视图,能够显示当前解决方案的内容,当新建一个工程时能够选择新建一个解决方案仍是加入当前解决方案。
以下图左侧面板中正在显示的视图确实是Solution Explorer,视图中有一个解决方案-HelloWorld,此解决方案下有一个同名的工程-HelloWorld。
在应用程序向导生成应用程序后,VS2020会在用户设置的途径下,以解决方案名为名称成立一个目录,里面寄存自动生成的文件。
利用VS2020应用程序向导生成单文档应用程序框架那个地址简略演示下如何生成单文档应用程序框架,让大伙儿先有个直观的了解,有不睬解的地址能够留着以后回来再看。
下面依照操作步骤一步步讲解:1.点菜单栏File->New->Project,弹出New Project对话框,咱们能够选择工程类型。
若是安装完VS2020以后第一启动时已经设置为VC++,那么Installed Templates->Visual C++项会默许展开,而若是没有设置VC++,那么能够展开到Installed Templates->Other Languages->Visual C++项。
因为咱们要生成的是MFC程序,因此在“Visual C++”下选择“MFC”,对话框中间区域会显现三个选项:MFC ActiveX Control、MFC Application和MFC DLL。
Visual Studio 2010 MFC框架结构设计
CMFCToolBar::OnUpdateCmdUI((CFrameWnd*) GetOwner(), bDisableIfNoHndler);
}
virtualBOOL AllowShowOnList()const{returnFALSE; }
};
CMFCToolBar是选件类类似于CToolBar Class,但是,提供用户界面功能附加支持。其中包括简单的工具栏、工具栏有快捷图像的,大图标、寻呼机按钮、锁定的工具栏、rebar控件、文本在图像下,背景图像和选项卡式工具栏。CMFCToolBar选件类还包含内置为工具栏的用户可自定义的支持,并菜单、拖放到工具栏和菜单之间,组合框按钮,编辑框按钮、颜色选取器和汇总按钮。
m_wndToolBar.LoadBitmap(theApp.m_bHiColorIcons ? IDB_EXPLORER_24 : IDR_EXPLORER, 0, 0, TRUE/*锁?定¡§*/);
m_PersonViewImages.DeleteImageList();
UINT uiBmpId = theApp.m_bHiColorIcons ? IDB_PERSON_VIEW_24 : IDB_PERSON_VIEW;
第四步就是设计这个派生的类,为其添加工具栏,弹出菜单等
第五步就是将这个派生类加到框架中去。
下面我们开始制作:
一、新建标准的MFC工程
点新建项目
选择Visual C++的MFC选择MFC应用程序输入MyTest工程名(位置就自己定吧。这里解决方案名称会与名称同步,你可以修改“解决方案名称(M)”,它其实就是工程的总目录名)点击确定。
添加位图资源与菜单相同其id改为idbpersonview添加工具栏其id改为idrexplorer同法添加idbexplorer24及idbfileview为cperosnview添加自定义方法onchangevisualstyle和adjustlayout方法是进入类向导选择方法点击添加方法返回类型为void参数类型不添加访问选择public点确定
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类进行绘图。
VS2010MFC编程入门-Ribbon界面开发
Ribbon界面就是微软从Office2007开始引入的一种为了使应用程序的功能更加易于发现和使用、减少了点击鼠标的次数的新型界面,从实际效果来看,不仅外观漂亮,而且功能直观,用户操作简洁方便。
鸡啄米将以图文结合的方式来说明利用MFC向导创建Ribbon样式的单文档应用程序框架的过程,其实Ribbon应用程序框架的创建有很多地方与普通单文档应用程序类似,所以如果有些步骤的选项不太明白,可以参见VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)。
下面是具体步骤:1、打开VS2010,在菜单中选择File->New->Project,弹出标题为“New Project”的对话框。
在此对话框左侧面板中选择Installed Templates->Visual C++->MFC,然后在中间区域中选择“MFC Application”。
选择了工程类型后,可以看到对话框下边有三个设置项,分别是Name--工程名、Location--解决方案路径、Solution Name--解决方案名称。
鸡啄米在这里将Name设为“Example52”,Location设为“桌面”的路径,Solution Name默认与Name一样,我们这里不作修改。
如下图:点“OK”按钮。
2、这时会弹出“MFC Application Wizard”对话框,上部写有“Welcome to the MFC Application Wizard”,下面显示了当前工程的默认设置。
第一条“Tabbed multiple document interface (MDI)”是说此工程是多文档应用程序。
如果这时直接点下面的“Finish”按钮,可生成具有上面列出设置的多文档程序。
但我们此例是要建立Ribbon样式的单文档应用程序,所以点“Next”按钮再继续设置吧。
3、接下来弹出的对话框上部写有“Application Type”,当然是让选择应用程序类型,我们选择“Single document”,说明要创建的是单文档应用程序框架。
MFC单文档窗体类的创建过程
MFC单文档窗体类的创建过程MFC(Microsoft Foundation Classes)是微软公司提供的一种面向对象的程序开发工具,用于简化Windows操作系统的应用程序开发。
MFC 提供了丰富的类库和框架,使开发人员能够更快速地创建Windows程序。
在MFC中,窗体类是常用的一种类,用于创建窗体应用程序。
本文将详细介绍MFC单文档窗体类的创建过程。
在MFC中,创建单文档窗体类的过程可以分为以下几个步骤:1.创建一个新的MFC应用程序项目首先,需要使用MFC应用程序向导创建一个新的MFC应用程序项目。
打开Visual Studio,选择“文件”->“新建”->“项目”,在“新建项目”对话框中选择“Visual C++”->“MFC”->“MFC应用程序”,并填写项目名称和保存路径,点击“确定”按钮。
接下来,按照向导的指引,选择“单文档”应用程序类型,并点击“完成”按钮。
2.添加对话框资源在MFC应用程序项目创建完成后,需要添加对话框资源。
在资源视图中,选择“添加”->“资源”->“对话框”,在弹出的对话框中输入对话框名称,并点击“确定”按钮。
此时,会自动生成一个对话框资源,可以在其中添加所需的控件。
3.创建窗体类在MFC应用程序项目中,会自动生成一个CWinApp类和一个CMainFrame类。
我们需要创建一个新的窗体类,用于承载对话框资源。
在Solution Explorer中,右击“源文件”->“添加”->“类”,在弹出的“添加类”对话框中选择“MFC”->“MFC类”->“单文档视图”,并填写类名称和保存路径,点击“添加”按钮。
此时,会自动生成一个新的窗体类,可以在其中添加处理逻辑。
4.修改窗体类代码打开新生成的窗体类的头文件和源文件,可以看到自动生成的代码。
在头文件中,需要包含所需的头文件,并声明成员变量和成员函数。
在源文件中,需要实现窗体类的构造函数、析构函数和其他成员函数。
MFC单文档应用程序基础训练——文本输出、绘图等
MFC单文档基础训练——文本输出、绘图等平台为:VS20101.一个简单的单文档应用程序文件->新建项目->MFC应用程序,出现窗口按“下一步”,出现下面窗口选择单文档点"调试—>运行",最后运行界面为下图:一个简单的单文档应用程序向导自动建立五个类:向导自动建立的类相应源文件其他源文件相应头文件其他头文件CAboutDlg StdAfx.cpp StdAfx.h CXxxApp Xxx.cpp Xxx.rc Xxx.h Resource.h CXxxView XxxView.cpp XxxView.hCXxxDoc XxxDoc.cpp XxxDoc.h每个类的主要函数:void CAboutDlg::DoDataExchange(CDataExchange* pDX)int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)//创建窗体的工具栏,状态栏等BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)BOOL CXxxApp::InitInstance()void CXxxApp::OnAppAbout()BOOL CXxxDoc::OnNewDocument()//初始化文档字符数据、字体信息等void CXxxDoc::Serialize(CArchive& ar)BOOL CXxxView::PreCreateWindow(CREATESTRUCT& cs)void CXxxView::OnDraw(CDC* pDC)BOOL CXxxView::OnPreparePrinting(CPrintInfo* pInfo)//弹出打印对话框void CXxxView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)void CXxxView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)CXxxDoc* CXxxView::GetDocument() // non-debug version is inline创建单文档应用程序的一般步骤:●利用AppWizard创建应用程序框架●在文档内中声明保存文档数据所需要数据对象●完成文档类的OnNewDocument函数,初始化新文档●完成文档类的Serialize函数,保持和加载文档数据●完成视类的OnInitialUpdate函数,初始化显示●完成视类的OnDraw函数,显示当前文档内容●在视类中加入可以使用户编辑文档数据所需的代码2.简单文本和图形输出建立一个简单的单文档应用程序SimpleTextPicture,通过修改OnDraw函数在视(View)中输出信息或画图。
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”函数。
在这个函数中,会创建主窗口。
可以在此处设置主窗口的标题、样式等属性。
最后,点击“生成”菜单中的“生成解决方案”选项,编译并运行应用程序。
2.VS2010实验 基于对话框的MFC程序
VS2010实验基于对话框的MFC程序实现功能:单击文本编辑框,可输入字符串;单击擦除,可清除文本框内容;单击大写,将文本全部变为大写;单击小写,将文本全部变为小写; 单击退出,关闭程序。
1.启动VS2010,选文件,新建,项目。
选择MFC应用程序,输入名称:example,确定。
点下一步,选基于对话框,去掉使用unicode字符集,完成:之后,出口中出现这个样子:直接点编译运行,会出现一个对话框,点确定,关闭这个对话框:2.单击左侧的‚资源视图resource view‛,dialog下面的IDD_EXAMPLE_DIALOG,代码编辑框中出现EXAMPLE_DIALOG将对话框中的‚取消‛和‚TODO:再此放置对话框控件‛选中后,按del直接删掉。
并从右下角工具箱中拖入如下圈出的四样东西。
对话框的大小,即控件的位置都由鼠标调整。
2.修改static控件的文字,单击它,然后直接输入就可以。
注意左下角属性中,它的ID,是IDC_STATIC。
对话框的ID都是‚IDC_‛开头的,而基于菜单的都是‚ID_‛开头的。
3.选中文本编辑框,将它的ID改为IDC_CONTROL_EDIT.4.单选按钮,先将旁边的文字‘Radio1’改为‘大写’,第二个改为‘小写’。
再将他们的ID,第一个改为IDC_UPPER_RADIO,第二个改为IDC_LOWER_RADIO。
将button1改为擦除,ID改为‚IDC_ERASE_BUTTON‛确定改为退出,IDC_EXIT_BUTTON。
至此,完成界面设计工作,下面添加消息处理函数。
5.单击项目,类向导,打开MFC class wizard类名为CexampleDlg,点成员变量选项卡,选中IDC_CONTROL_EDIT,点右侧的添加成员变量,成员变量名及类别如下图所示,完成后单击确定。
出现一个成员变量:回到命令选项卡,在对象ID中选择IDC_EXIT_BUTTON,在消息中选择BN_CLICKED,单击右侧‚添加处理程序‛。
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编程入门之三十八(状态栏的使用详解)上一节中鸡啄米讲了工具栏的创建、停靠与使用,本节来讲解状态栏的知识。
状态栏简介状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态。
状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用来显示不同的信息和状态等,如菜单项和工具栏按钮的提示信息。
用MFC向导生成的单文档或多文档程序都会自动创建状态栏,大家可以运行下VS20 10/MFC编程入门之三十四(菜单:VS2010菜单资源详解)中创建的Example34程序,在结果界面中可以看到窗口底部有个状态栏,该状态栏被分为了几个窗格,分别用来显示菜单项和工具栏按钮的提示信息及Caps Lock、Num Lock、Scroll Lock键的状态。
当然,我们可以自定义状态栏,加入新的提示信息或指示器。
CStatusBar类MFC为状态栏提供了CStatusBar类,封装了状态栏的属性和操作。
下面是CStatusBar类几个主要的成员函数:virtual BOOL Create(CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_BOTTOM, UINT nID = AFX_IDW_STATUS_BAR);创建一个状态栏。
参数pParentWnd为状态栏父窗口的指针,参数dwStyle为状态栏的风格,除了标准的Windows风格外,它还支持:CBRS_TOP:位于框架窗口的顶部。
CBRS_BOTTOM:位于框架窗口的底部。
CBRS_NOALIGN:父窗口大小改变时状态栏不会被重新定位。
参数nID指定状态栏的ID。
BOOL SetIndicators(const UINT* lpIDArray, int nIDCount);为每个指示器设置显示文本,具体来说,就是用lpIDArray数组中的对应元素为每个指示器设置一个ID,然后加载每个ID代表的字符串,设置为这些指示器的显示文本。
Visual C MFC 编程指南
一、 程序框架建立完成Visual C++ 2010安装后,启动该应用程序软件,则出现如下操作界面一个VC应用程序包含了一系列支持程序和资源,建立一个VC应用程序成为建立一个“项目”,一个项目建立在一个工作区中。
下面是建立一个工程项目的步骤:1.打开VS2010软件,依次点击“文件”、“新建”;或者在起始页中,点击“创建项目”,则打开如下对话框:2.在项目类型中选择Visual C++ MFC,使用MFC应用程序,输入项目名称、项目保存目录,点击“确定”按钮。
3.出现如下的对话框。
完全接受当前默认设置,则按“确定”按钮;如果需要更改当前设置,则按“下一步”。
4.按“下一步”,则弹出对话框。
在学习编程开始,建议应用程序类型选择“单文档”,MFC的使用,选择在静态库中使用MFC,把使用Unicode选项去掉,然后按“下一步”。
5.在出项的窗口中按“下一步”6.在出现的串口中“完成”,则完成整个应用程序框架的构建,在状态栏的左边出现在以上每一步设置中,也可以通过点击“上一步”返回,重新进行相应设置。
7.在系统菜单“生成”中选择“生成解决方案”,然后点击“调试”中的“启动调试”,生成的程序创建一个框架,如下这已经是一个完整的程序了,但只是一个空程序,什么也不能执行。
下面要做的就是将我们需要的功能添加进程序中。
二、 VC程序框架五个类介绍在平台的左边窗口中点击“类视图”标签,可以看到该项目的所有类。
如果在工作环境中没有显示“类视图”,可以利用“视图”菜单中的“类视图”即可。
现在只有5个初始类,如下图所示:各个类的主要作用如下:z对话框类(CAboutDlg):管理对话框z应用类(CCDrawingApp):对有关部分进行管理和调度z文档类(CCDrawingDoc):管理程序数据z视图类(CCDrawingView):管理图形显示z主框架类(CMainFrame):管理窗口文档类、视图类是我们编程要涉及到的主要类,我们也可以创建一些新类,但要通过上述基本类与程序建立联系。
vs2010mfc多文档添加菜单
VS2010添加菜单MFC class wizard(类向导)project:当前工程名class name:需要编辑消息映射(将消息与处理函数一一对应)的类名object ID:该类中当前可以产生消息的对象ID。
Message:该对象能产生的消息Member function:该类的成员函数。
可以添加(Add function),删除(Delete fun…)。
Add class:添加新的类。
右下有个小箭头,可以选择‚new‛或从类库中导入。
SDI:单文档MDI:多文档1.创建MDI工程:打开VS2010,文件,新建,project,选MFC应用程序(MFC AppWizard),填入名称:Menu1,确定。
选多个文档,完成。
编译运行一下,弹出的窗口是Menu11:2.完成后在左侧点资源视图,Menu,IDR_Menu1TYPE,会发现,Menu框架中已经有了‚文件,编辑,视图,帮助‛等菜单。
单击‚帮助‛后面的‚请在此处输入‛,并输入‚Movie(&M)‛,输入(&M)的作用是用户可通过‚Alt+m‛直接打开该菜单项,输入后‘&’自动消失。
左下角的‚菜单编辑项‛中,enable和popup默认为true。
因为Popup为true,即允许有子菜单弹出,所以不用输入ID,下面杂项的ID 为‚无法编辑ID‛。
2.单击Movie下面的框,并在里面输入‘赤壁之战(&C)’。
(&C)表示直接在键盘上按‘C’,即可选择‚赤壁之战‛。
这时,他变成了这个样子,并且左下角的‘菜单编辑器’里出现了内容。
在菜单编辑器里,注意到popup为false,这是可以编辑ID,向下拉菜单,在‚杂项‛中,将ID改为ID_MOVIE1,在Prompt中填入‚打开赤壁电影‛。
此处,直接单击,就可以修改或输入。
3.为菜单添加消息处理函数直接在最上一行菜单栏选‘项目’,类向导,弹出class wizard。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VS2010/MFC编程入门之二(利用MFC向导生成单文档
应用程序框架)
这里给大家一个简单的例子,演示如何生成单文档应用程序框架。
解决方案与工程
在VS2010的使用介绍中已经讲了解决方案与工程的概念,这里再重提一下。
每个应用程序都作为一个工程来处理,它包含了头文件、源文件和资源文件等,这些文件通过工程集中管理。
在VS2010中,工程都是在解决方案管理之下的。
一个解决方案可以管理多个工程,可以把解决方案理解为多个有关系或者没有关系的工程的集合。
VS2010提供了一个Solution Explorer解决方案浏览器视图,可以显示当前解决方案的内容,当新建一个工程时可以选择新建一个解决方案还是加入当前解决方案。
下图左侧面板中正在显示的视图就是Solution Explorer,视图中有一个解决方案-HelloWorld,此解决方案下有一个同名的工程-HelloWorld。
在应用程序向导生成应用程序后,VS2010会在用户设置的路径下,以解决方案名为名称建立一个目录,里面存放自动生成的文件。
使用VS2010应用程序向导生成单文档应用程序框架
这里简略演示下怎样生成单文档应用程序框架,让大家先有个直观的了解,有不理解的地方可以留着以后回来再看。
下面按照操作步骤一步步讲解:
1.点菜单栏File->New->Project,弹出New Project对话框,我们可以选择工程类型。
如果安装完VS2010以后第一启动时已经设置为VC++,则Installed Templates->Visual C++项会默认展开,而如果没有设置VC++,则可以展开到Installed Templates->Other Languages->Visual C++项。
因为我们要生成的是MFC程序,所以在“Visual C++”下选择“MFC”,对话框中间区域会出现三个选项:MFC ActiveX Control、MFC Application和MFC DLL。
MFC ActiveX Control用来生成MFC ActiveX控件程序。
MFC Application用来生成MFC应用程序。
MFC DLL用来生成MFC动态链接库程序。
当然我们要选择MFC Application。
在对话框下部有Name、Location和Solution name三个设置项。
意义如下:Name--工程名,Location--解决方案路径,Solution name--解决方案名称。
这里Name 我们设为“HelloWorld”,Location设置为“桌面”的路径,Solution name默认和Name一样,当然可以修改为其他名字,这里我们不作修改,也使用“HelloWorld”。
点“OK”按钮。
2.这时会弹出“MFC Application Wizard”对话框,上部写有“Welcome to the MFC Application Wizard”,下面显示了当前工程的默认设置。
第一条“Tabbed multiple document interface (MDI)”是说此工程是多文档应用程序。
如果这时直接点下面的“Finish”按钮,可生成具有上面列出设置的多文档程序。
但我们此例是要建立单文档应用程序,所以点“Next”按钮再继续设置吧。
3.接下来弹出的对话框上部写有“Application Type”,当然是让选择应用程序类型,我们看到有四种类型:Single document(单文档)、Multiple documents(多文档)、Dialog based(基于对话框)和Multiple top-level documents。
我们选择Single document类型,以生成一个单文档应用程序框架。
单文档应用程序运行时是一个单窗口界面。
此对话框的“Resource language”还提供语言的选择,这里默认选择英语。
“Project style”可选择工程风格,我们选择默认的“Visual Studio”风格。
“Use of MFC”有两个选项:Use MFC in a shared DLL(动态链接库方式使用MFC)和Use MFC in a static library(静态库方式使用MFC)。
选择Use MFC in a shared DLL时MFC的类会以动态链接库的方式访问,所以我们的应用程序本身就会小些,但是发布应用程序时必须同时添加必要的动态链接库,以便在没有安装VS2010的机子上能够正常运行程序。
选择Use MFC in a static library时MFC的类会编译到可执行文件中,所以应用程序的可执行文件要比上种方式大,但可以单独发布,不需另加包含MFC类的库。
这里我们使用默认的Use MFC in a shared DLL。
点“Next”按钮。
4.此时弹出上部写有“Compound Document Support”的对话框,可以通过它向应用程序加入OLE支持,指定OLE选项的复合文档类型。
本例不需要OLE特性,使用默认值“None”。
点“Next”按钮。
5.弹出的新对话框上部写有“Document Template Properties”。
“File extension”可以设置程序能处理的文件的扩展名。
对话框其他选项还可以更改程序窗口的标题。
我们都使用默认设置,点“Next”按钮。
6.此时弹出的对话框主题是“Database Support”。
用于设置数据库选项。
此向导可以生成数据库应用程序需要的代码。
它有四个选项:
None:忽略所有的数据库支持;
Header files only:只包含定义了数据库类的头文件,但不生成对应特定表的数据
库类或视图类;
Database view without file support:创建对应指定表的一个数据库类和一个视图类,不附加标准文件支持;
Database view with file support:创建对应指定表的一个数据库类和一个视图类,并附加标准文件支持。
本例选择默认值“None”,不使用数据库特性。
点“Next”按钮。
7.这时弹出的对话框是关于“User Interface Features”,即用户界面特性。
我们
可以设置有无最大化按钮、最小化按钮、系统菜单和初始状态栏等。
还可以选择使用
菜单栏和工具栏生成简单的应用程序还是使用ribbon。
这里我们都选择默认设置。
点“Next”进入下一步。
8.此时弹出“高级特性”对话框。
可以设置的高级特性包括有无打印和打印预览等。
在“Number of files on recent file list”项可以设置在程序界面的文件菜单下面最近打开文件的个数。
我们仍使用默认值。
点“Next”按钮。
9.弹出“生成类”对话框。
在对话框上部的“生成类”列表框内,列出了将要生成的4 个类:一个视图类(CHelloWorldView)、一个应用类(CHelloWorldApp)、一个文档类(CHelloWorldDoc)和一个主框架窗口类(CMainFrame)。
在对话框下面的几个编辑框中,可以修改默认的类名、类的头文件名和源文件名。
对于视图类,还可以修改其基类名称,默认的基类是CView,还有其他几个基类可以选择。
这里我们还是使用默认设置。
点“Finish”按钮。
应用程序向导最后为我们生成了应用程序框架,并在Solution Explorer中自动打开了解决方案(见上面第一张图)。
编译运行生成的程序
点菜单中的Build->Build HelloWorld编译程序,然后点Debug->Start Without Debugging(快捷键Ctrl+F5)运行程序,也可以直接点Debug->Start Without Debugging,这时会弹出对话框提示是否编译,选择“Yes”,VS2010将自动编译链接运行HelloWorld程序。
结果页面如下所示:
终于看见界面了。
在以后的教程中会继续讲解各种界面和控件的使用方法。