现在位置: 首页 > 自动控制 > 工业·编程 > 文章
    Document/View 结构可以看作是MFC的精华之一。MFC中许多成本都耗在了这个机构上了。     Document/View与Smalltalk/Stus 中MVC结构是相同的概念。只是各自的实现不同而已。这里只谈MFC。其M=Document,V=view,C=CDocmager + CDocTemplate. 当然这只是简而言之。具体内部是比较复杂的(比如为此MFC内建许多共享结构和宏)。 由于D/V结构是一个比较复杂的机构所以我打算分阶段的学习先学习...
阅读全文
2012-08-27 23:43 工业·编程 ⁄ 共 1168字 暂无评论
    在Windows中绘图就需要使用到GDI 概念。GDI其实就是一个设备无关的图形包。这样的类似图形包有比如OpenGL,VTK等。不过GDI的特点就是其是二维的并且被封装进了Winows的API当中。不过Windows图形编程当中还有一个特点就是各个程序都有自己的输出窗口,每个程序间需要隔离,windows使用设备表述表表示。所以在做Windows图形编程的时候常要使用两个东西一个是DC(设备描述表)一个是GDI。     ...
阅读全文
2012-08-27 23:42 工业·编程 ⁄ 共 1746字 暂无评论
    现在来学MFC,嘿嘿!有些落伍了!不过我也有我的原因。第一 要完成的毕业程序跟网络基本上没什么关系。在独立PC上做windows 程序,一般而言MFC一般是不二选择。 其次现在.net,j2ee什么的框架虽然先进些,但是手头上却没有他们实现的源代码。net自不必说,java那套的东西找起来又麻烦。而MFC源代码在VC上自带着对于学习者而言这是莫大的福音。其三 但就我理解框架而言MFC已经包括框架的基本要求功能延伸和设...
阅读全文
    终于短短续续的把C++什么的语言囫囵团枣学了个大概。现在打算开始学框架和IDE什么的。这里我打算写几个方面的东西一是什么是框架,二是框架的阶段三决定框架能力的因素四框架设计的方向 什么是框架     框架是一种延伸。这种衍生可以使功能性的延伸,也可以是设计思想性的延伸。从框架的发展来看功能性的延伸要早于设计思想的延伸。 框架的阶段     其实早期的C函数库就可以...
阅读全文
    首先要解释一下,本人是新手,这篇文章写的是我在工作后的第一项目中遇到的问题。本文是基于msdn中的“Design ActiveX Components with MFC Document/View Model”修改而成,而且只适用于基于Doc/View结构的单文档模板程序,并且需要用到这篇文章中提供的例程中的两个文件。 下面我就按照封装的步骤来讲解一下整个过程: 1. 首先需要准备两个文件 ActivDoc.h 和 ActivDoc.cpp ,在上面提到的那篇文章的例程中...
阅读全文
2012-08-27 23:12 工业·编程 ⁄ 共 946字 暂无评论
1.首先是App类的对象.-->AfxWinMain()(编译器连接的AfxWinMain()中包括了                         -->AfxWinInit()的调用                         -->InitApplication(...
阅读全文
2012-08-27 23:10 工业·编程 ⁄ 共 2170字 暂无评论
CMainFrame是CApp类的主程序窗口(如果是选MDI或SDI结构的话),也就是程序的一个框架。 CApp中如无特殊的要求不用加什么代码,CMainFrame中也是根据需要,如按照微软提供的框架也不需要加什么代码。    CDocument一般和CView一起使用,这样的程序叫文档/视图结构。 CDocument中加的代码主要是和你的文档内容有关的,如文档中信息(对象)等,需要处理的一般有文档内容的编辑、删除、添加、序列化(读写文件...
阅读全文
    VC中常用的文档类,视图类,框架类,应用程序类,自定义类中获取其它四个类的方法: GET App     AfxGetInstanceHandle()     AfxGetApp()  GET Frame->View->Document      SDI   AfxGetMainWnd() -> GetActiveView() -> GetDocument()      MDI   AfxGetMainWnd() -> MDIGetActive() -&...
阅读全文
2012-08-27 07:01 工业·编程 ⁄ 共 4639字 暂无评论
//*********************增加的函数********************************************************** //考贝屏幕,这段代码是拿来主义 呵呵 HBITMAP CCatchScreenDlg::CopyScreenToBitmap(LPRECT lpRect,BOOL bSave) //lpRect 代表选定区域 { HDC       hScrDC, hMemDC;      // 屏幕和内存设备描述表 HBITMAP    hBitmap, hOldBitmap;...
阅读全文
1. ifstream myFile ; CStdString strForbiddenFilePathName = strModulePathName + "forbbiden.dat" ; myFile.open(strForbiddenFilePathName.c_str()) ; if (!myFile) {   g_Log.GetLog()->WriteDBGLog(IMP_RECORD, "CWebPageAnalyze::GetArtical", strPreLog + "打开禁用关键词失败");   return FALSE ; } else {   while(getline (myFile, ...
阅读全文