MFC 构建.消亡 顺序 (一)--单文档 (SDI) by:http://www.cnblogs.com/vranger/ (一)SDI 生成顺序 (二)打开文档-“Open” (三)新建文档-“New” (四)SDI关闭-“Close”…
MFC 构建.消亡 顺序 (二)--多文档 (MDI) by:http://www.cnblogs.com/vranger/ (一)MDI 生成顺序 (二)打开文档-“Open” (三)新建文档-“New” (四)子文档关闭-“Close” (五)MDI关闭-“Close”…
1 MFC单文档程序的主要类 (1)文档类(Document) 即应用程序处理的数据对象,文档一般从 MFC 中 CDocument 中派生.CDocument 类用于相应数据文件的读取以及存储 Cview 类所需要观察和处理的信息. (2)视类(View) 视相当于文档在应用程序中的观察窗口,它确定了用户对文档的观察方式和用户编辑文档的方式.对于图形来说视就好比我们进行绘图工作的画布,对图形的操作都是在视上进行的.另外,视类中有一个重要的成员函数 OnDraw() 函数.重载的 OnDraw(…
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/12368154.html 一.下载OpenCASCADE 官网下载是: http://www.opencascade.org/getocc/download/loadocc/ 我的百度云已经下载好的是: 链接:https://pan.baidu.com/s/1D-fw8vspKTOZ8GmAGBSVGw 提取码:mzp3 下载后运行完毕就是这样: 二.VS2017 MFC单文档配置OpenCA…
程序主窗口标题栏的一般形式为: 文档标题—主窗口标题 1.修改文档标题 修改CExamDoc::onNewDocument()函数为: BOOL CExamDoc::OnNewDocument() { if(!CDocument::OnNewDocument()) return FALSE; SetTitle("文档标题"); return TRUE; } 2.修改主窗口标题 修改CMainFrame的成员函数PreCreateWindowO为: BOOL CMainFrame::Pr…
本文主要讲述如何在VC++环境下实现单文档SDI与OpenGL多视图分割窗口,最终的界面类似3DMAX的主界面.首先给出我实现的效果图: 整个实现过程网络上有很多零散的博文,请各位自行搜索,在基于对话框.单文档或多文档下实现多视图分割窗口的原理是一致的.本文检索了众多相关论文,发现了几篇写的非常细致的论文.在此向相关作者表示感谢.下面给出龚勋的论文原文,大家可以仔细阅读和学习.相信一定能够做出来想要的效果的.但是文中对于全局变量的定义和初始化在VC++2015环境下编译不通过.经过排查,发现这些…
文档类 1 相关类    CDocument类-父类是CCmdTarget类,所以,文档类也能够处理菜单等               命令消息. 作用保存和管理数据.    注意事项:怎样解决断言错误    2 在视图中显示文档中的数据     2.1 CView::OnInitialUpdate         作用初始化视图,在附加文档之后.显示之前.由框架调用. 2.2 CView::GetDocument         获取与视图相关的文档     2.3 CFrameWnd::In…
MFC单文档程序架构解析 这里我以科院杨老师的单文档程序来分析一下MFC单文档的程序架构,纯属个人见解,不当之处烦请指教! 首先我们了解到的是 图(一) theApp 是唯一一个在程序形成的时候就存在的全局变量,它属于CstockAppApp类,而CstockAppApp 继承于CwinApp类,我们看一下MSDN中CwinApp的继承关系如下: 图(二) 从继承关系当中,我们发现theApp是作为程序的实体而存在的,是单文档程序的核心. 首先分析一下的是CsockAppApp这个类,这里面有一…
MFC单文档程序架构解析 MFC单文档程序架构解析 这里我以科院杨老师的单文档程序来分析一下MFC单文档的程序架构,纯属个人见解,不当之处烦请指教! 首先我们了解到的是 图(一) theApp 是唯一一个在程序形成的时候就存在的全局变量,它属于CstockAppApp类,而CstockAppApp 继承于CwinApp类,我们看一下MSDN中CwinApp的继承关系如下: 图(二) 从继承关系当中,我们发现theApp是作为程序的实体而存在的,是单文档程序的核心. 首先分析一下的是CsockAp…
MFC单文档程序结构三方面: Doc MainFrame View…
VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)-软件开发-鸡啄米 http://www.jizhuomi.com/software/141.html   上一讲中讲了VS2010和MSDN如何安装,相信大家都已经安装好了.这一讲给大家一个简单的例子,演示如何生成单文档应用程序框架. 解决方案与工程 鸡啄米在VS2010的使用介绍中已经讲了解决方案与工程的概念,这里再重提一下.每个应用程序都作为一个工程来处理,它包含了头文件.源文件和资源文件等,这些文件通过工程集中管理.…
在视图应用程序中,应用程序的数据由文档对象代表,数据的视图由视图对象代表.MFC的Cdocument类是文档对象的基类,Cview类是视图对象的基类.应用程序的主窗口,其操作功能在MFC的CframeWnd和CMDIFrameWnd类中实现,已经不再以消息处理为工作焦点了,主要用作视图.工具栏以及其他用户界面对象的容器. 单文档界面应用程序只支持打开一个文档. 1.  文档.视图基础知识.   图1展示了SDI文档.视图应用程序的示意图.框架窗口是应用程序的顶层窗口,通常带有WS_OVERLAP…
在使用MFC编写单文档程序时,有时候需要将编辑的内容序列化为文件,使该文件可以直接以自己的程序打开,这时候需要在保存时将文件后缀改为我们想要的格式. 步骤 打开String Table,找到IDR_MAINFRAME字段,设置其Caption如: VxOfflineTrendQueryTool\n\nVxHisTrendQuery\noltq\n.oltq\nVxHisTrendQueryTool.Document\nVxHisTrendQueryTool.Document 第一个字段为标题名…
一.创建并运行MFC单文档程序 1.创建单文档程序 这里使用的是VS2017.首先,打开VS2017,选择文件->新建->项目,然后选择Visual C++ -> MFC /ATL>MFC应用程序 ,如下图所示: 修改名称(或默认),修改位置(或默认),点击确定.然后接下来可以看到如下界面: 应用程序类型选择“单个文档”,其他设置默认,然后点击完成即可创建成功. 2.运行单文档程序 点击"本地Windows调试器"或者使用Ctrl+F5即可运行,得到视图窗口,如…
老有人觉得MSComm通讯控件很土,更有人大声疾呼:忘了它吧.确实当我们对串口编程有了一定的了解后,应该用API函数写一个属于自己的串口程序,由于编程者对程序了解,对程序修改自如.但我一直没有停止过用MSComm通讯控件,那么简单的东西,对付简单的任务完全可以,但当我们需要在程序中用多个串口,而且还要做很多复杂的处理,那么最好不用MSComm通讯控件,如果这时你还不愿意自己编写底层,就用这个类:CserialPort类. 这是Remon Spekreijse写的一个串口类, 地址在: http:…
1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenGL程序中的0x00000000 处未处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突 void createVBO(GLuint *vbo,int size) { glGenBuffers(,vbo);//该行代码出错,呜呜 glBindBuffer(GL_ARRAY_B…
原文转自 https://blog.csdn.net/u011619422/article/details/40402705 首先来分析一下MFC单文档类的结构: 它包括如下几个类: CAboutDlg :  对话框框类,对应应用程序的“帮助”->“关于”菜单,弹出“关于”对话框. CxxxApp: 派生自CWinApp , 为应用程序对象,负责应用程序的初始化和退出的清理工作. CMainFrame:  派生自CFrameWnd类, 为框架窗口对象,对应应用程序的主窗口. CxxxView:…
1.下载: http://www.magpcss.net/cef_downloads/下载cef binary 1.1364.1123 windows.zip(可能要FQ,百度goagent教程,最好使用谷歌浏览器FQ下载,因为goagent有chrome的插件) 2.编译: http://dev.chromium.org/developers/how-tos/build-instructions-windows(可能要搭建许多开发环境,考验你网速的时候到了) 如果没法编译,去我的资源下载,就是…
今天照着孙鑫老师的VC++教程学习文件的操作,VS2010,单文档应用程序,项目文件命名为File,也就有了自动生成的CFileDoc.CFileView等类,一进去就编译运行(就是最初自动生成的项目),编译通过,可运行时直接弹出错误框,有点小懵,,,啥都没做就给我看这个: 图一   错误提示框 后来搜索一查,网上好多类似的错误以及解决方案,几乎都试了个遍,有: 方法(1)—重新生成解决方案,或者将项目文件目录下Debug文件夹删了,重新生成Release版: 方法(2)—可以先声明一个临时的C…
用VC++MFC做文本编辑器(单文档模式) 原来做过一个用对话框实现的文本编辑器,其实用MFC模板里面的单文档模板也可以做,甚至更加方便,适合入门级的爱好者试试,现介绍方法如下: < xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" /> 1,首先新建一个工程,选择MFC AppWizard(exe),定名字为:textview_1,程序类型选择单个文档,其他均默…
一.VC++与MFC 讲VC++免不了要提MFC,MFC全称Microsoft Foundation Classes,也就是微软基础类库.它是VC++的核心,是C++与Windows API的结合,很彻底的用C++封装了Windows SDK(Software Development Kit,软件开发工具包)中的结构和功能,还提供了一个应用程序框架,此应用程序框架为软件开发者完成了一些例行化的工作,比如各种窗口.工具栏.菜单的生成和管理等,不需要开发者再去解决那些很复杂很乏味的难题,比如每个窗口…
开始学习OpenGL由于有一段时间,但是glfw只有窗口区,虽然通过某种手段(移步这里)可以加入工具栏,但仍然无法作为一个标准的GUI,而直接在MFC或Qt里面使用OpenGL API感觉有诸多制肘,各有利弊,所以打算将其嵌入GUI框架,此处以MFC为例 参考博文:https://blog.csdn.net/sunbibei/article/details/51783783 1.准备工作 由于要通过CreateProcess创建子进程的方式调用第三方exe程序,所以有必要知道创建的子进程信息,此…
从类的角度区分: 基于对话框(3个类): CAboutDlg 程序名App 程序名Dlg 单文档(5个类): CAboutDlg CMainFrame 程序名App 程序名Doc 程序名View 多文档(6个类): CAboutDlg CMainFrame 程序名App 程序名Doc 程序名View CChildFrame ------------------------------------------------------------------------------- 多文档 CAb…
转自http://blog.csdn.net/yanfeiouc2009/archive/2010/06/07/5653360.aspx 手头上有个东西要用到单文档,由于想省事,直接用VS2010做了.刚生成的代码直接编译后会有Output.Property.Workspace和我们主程序的CxxView窗口.并且在WorkSpace窗口中添加了了树控件,在Workspace窗口中预添加了两个属性页(类视图和文件视图).感觉ms做的比较周到,但我不需要这么多窗口,只好把某些窗口注释掉. 1.去掉…
忽然无聊的想给自己写的程序保存的文件使用自己的名字简写作为后缀,于是有了下文. IDR_MAINFRAME格式介绍 IDR_MAINFRAME字符串资源中包含7个子串,分别以/n结束,即如下格式: <windowTitle>/n<docName>/n<fileNewName>/n<filterName>/n<filterExt>/n<regFileTypeId>/n<regFileTypeName>/n CDocTempl…
新建一个单文档程序 在查看菜单项中增加两个子菜单,分别为隐藏工具栏(ID_HIDE),新建菜单(ID_NEWMENU) 在Resource.h中增加一个ID_NEWMENU宏 #define ID_NEWMENU        WM_USER+101 操作工具栏和状态栏 使用GetDescendantWindow函数获取工具栏和状态栏的指针 为ID_HIDE添加消息映射,编辑代码如下 static bool m_Hide=false; m_Hide=!m_Hide; //获取工具栏指针 CWnd…
VS 单文档 添加按钮 今天做项目需要在单文档中创建按钮来响应函数,即点击按钮,调用某函数,特此记录. 1. 在XXXView中添加CButton变量,例如 CButton start; 2. 下来就是 创建按钮 了 ① 在资源 Rescource.h 中注册一下 按钮 #define IDB_BUTTONSTOP(这是名字,自己起)     2000(这是编号,不要和其他的一样就好) ②下来创建按钮 右键 XXXView类->属性->消息->WM_CREAT->add(编辑函数)…
我用的vs05.先随便起个名字qwerty. 确定以后在左边最下面有一个生成的类,点击生成的类,把基类改成CFormView 最后点击完成就创建好了. 单文档的窗口不是后来创建后插入的,是在创建后就自带的.…
用VS08程序向导,单文档程序,默认设置生成的.工程名为3view; 其中默认生成的视图类CMy3viewView,对应3viewView.h,3viewView.cpp; 在Resourse View添加个新对话框,在对话框的属性中,Border设置成None;Style设置成Child; 生成的新类中Base class设置为CFormView;  本程序中定义类名为CDefFormView; 默认生成的文档类为:3viewDoc.h,3viewDoc.cpp; 在主框架头文件MainFrm…
关于基于CFormView的单文档应用程序,添加一个图片背景的方法之一如下: 下面是利用LoadImage实现.(先在程序目录中添加背景图片back.bmp) 1.在view类中添加类成员变量:(为CMainFrame类添加CBitmap类型的成员变量m_bitmap和 HBITMAP类型的成员变量hBitmap) int flag; HBITMAP hbmp; CBrush m_brush; 2.添加类成员函数:void loadbgbmp(CString str) void C**VIew:…