MFC 中的设计模式分析】的更多相关文章

MFC 中的设计模式分析 最近在学习设计模式,突然想到MFC里面其实也包含有设计模式的原理,于是分析了一下,做一个笔记,网上也找了一些资料,在此一并感谢. 创建型模式 单例模式(Singleton Pattern)单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 任何MFC应用程序的第一步就是创建一个应用程序对象(CWinApp或者其子类的实例).在一个MFC应用程序中只能有一个应用程序对象,而且只有一个获取这个对象的全局入口点(AfxGetApp()…
一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约为2.66M),并安装.对于Windows 32位系统,其默认安装目录为:C:\WINDOWS\system32\Macromed\Flash\:对于64位系统,为:C:\Windows\SysWOW64\Macromed\Flash. Flash控件的大版本号用数字表示,如9,10,11等,小版本…
转自:http://blog.csdn.net/eddy_liu/article/details/8474677 目前,用MFC设计的Windows应用程序几乎都采用文档/视图结构.这种程序框架与简单程序框架之间的重要区别就在于形成应用程序的主窗口不只需要一个类的对象,而是需要3个对象: 框架窗口类(CFrameWnd)对象 视图类(CView)对象 文档类(CDocument)对象 框架窗口类(CFrameWnd)对象作为窗口的框架,视图类(CView)的对象作为贴附在框架窗口上的用户区,二者…
本章主要介绍MFC中主要的视图类,这些继承自Cview类. 继承关系如上图所示. 滚动视图 CscrollView给Cview添加了基本的滚动功能,它包含WM_VSCROLL和WM_HSCROLL消息的处理程序,将设计滚动窗口的工作交由MFC来完成. 首先介绍一下基本概念,物理视图,指得是占据屏幕的视图窗口和空间:逻辑视图指的是可以使用滚动条看到的整个虚拟空间. 成员函数SetScrollSize接受4个参数,其中2个可选. void SetScrollSizes( int nMapMode, …
MFC中的CString类使用方法指南 原文出处:codeproject:CString Management [禾路:这是一篇比较老的资料了,但是对于MFC的程序设计很有帮助.我们在MFC中使用字符串的相关操作,首先想到的就应该啊是CString,而不是char*或者string.那么关于CString 的相关内容,在这篇文章中就很好的解释. 我解决了一个具体的问题 /////显示结果     CString strResult = NULL;     CString strtmp    = …
在MFC中可以使用很多方法对数据库进行操作. 什么ODBC  什么ADO之类的,这里要介绍使用的ODBC这种方法,通过本文的阅读可以达初步掌握在MFC里面通过ODBC访问ACCESS数据库. 涉及到的软件: 系统Win7 64位, 开发环境是VS2010,Office2007 . ××××××××××××××××××××××××××××××××××××××××××××××××××× ODBC是什么东东...? ODBC全称:Open Database Connectivity,开放数据库互连.…
Spring 的骨骼架构 Spring 总共有十几个组件,但是真正核心的组件只有几个,下面是 Spring 框架的总体架构图: 图 1 .Spring 框架的总体架构图 从上图中可以看出 Spring 框架中的核心组件只有三个:Core.Context 和 Beans.它们构建起了整个 Spring 的骨骼架构.没有它们就不可能有 AOP.Web 等上层的特性功能.下面也将主要从这三个组件入手分析 Spring. Spring 的设计理念 前面介绍了 Spring 的三个核心组件,如果再在它们三…
Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析 这个分为两个部分的系列文章研究了 Apache Tomcat 服务器的系统架构以及其运用的很多经典设计模式.第 1 部分 分析了 Tomcat 的工作原理,第 2 部分将分析 Tomcat 中运用的许多经典设计模式,如模版模式.工厂模式和单例模式等.通过学习它们的实践运用能给我们以后的软件设计起到一定的借鉴作用. 5 评论: 许 令波, Java 开发工程师, 淘宝网 关闭 [x] 许令波,现就职于淘宝网,是一名 Java 开发工程…
此文介绍了关于MFC使用CString的资料,可一参考一下. 转自于VC知识库:http://www.vckbase.com/index.php/wv/829 通过阅读本文你可以学习如何有效地使用 CString. CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多.不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习.这篇文章就来讨论这些技巧. 使用CString可以让你对字符串的…
出自http://my.oschina.net/ypimgt/blog/62573 一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe.com/cn/flashplayer/)上下载最新的Flash Player(大约为2.66M),并安装.对于Windows 32位系统,其默认安装目录为:C:\WINDOWS\system32\Macromed\Flash\:对于64位系统,为:C:\Windows\SysWOW64\Macro…
在mfc中编辑框允许输入多行时,换行符被表示为<归位><换行>即"\r\n",用ascii码表示为13 10 如果为编辑框中想要输入换行,就请将编辑框的属性: Auto HScroll 设置为 False MultiLine  设置为 True Want Return 设置为 True…
初识 MVVM 谈起 MVVM 设计模式,可能第一映像你会想到 WPF/Sliverlight,他们提供了的数据绑定(Data Binding),命令(Command)等功能,这让 MVVM 模式得到很好的实现. MVVM 设计模式顾名思义,通过分离关注点,各司其职.通过 Data Binding 可达到数据的双向绑定,而命令 Command 更是将传统的 Code Behind 事件独立到 ViewModel 中. MVVM 设计模式在 WPF 中的实现 在WPF中,你会像如下这样去定义一个专…
转载自:xntop的<区别MFC中的CClientDC.CWindowDC.CPaintDC.CMetaFileDC> CClientDC及其子类 1. CClientDC类只能在客户区绘图:2. 所谓客户区指窗口区域中去掉边框.标题栏.菜单栏.工具栏.状态栏等之外的部分,它是用户可以操作的区域:3. 在使用CClientDC进行绘图时,一般要调用GetClientRect()函数来获取客户区域的大小:4. CClientDC类在构造函数中调用Windows API函数GetDC(),在析构时…
在上一篇中介绍了几个写入注册表数据和读取注册表数据的接口,并介绍了使用方法. 这一片教你如何使得你的应用程序在下次打开时保持上一次关闭前的状态. 在上一篇添加的代码的基础上,要添加WM_CLOSE消息的响应函数,因为我们只有在窗口关闭前要保存窗口的位置信息,所以保存窗口位置到注册表的代码要写在这个消息处理函数. 代码如下: void CTestClassDlg::OnClose() { )) { //保存窗口的位置 WINDOWPLACEMENT wp; GetWindowPlacement(&…
转载http://hi.baidu.com/jackywdx/item/feee8041d2c2e12310ee1e85 Windows应用程序通常是通过对话框接收用户输入.向用户输出信息,本节介绍应用程序中对话框的创建和应用,首先介绍对话框的工作方式.种类及创建方法,然后介绍如何将对话框与程序联系在一起. 3.4.1 对话框的工作方式.种类和创建方法 1. 对话框在应用程序中的工作方式 前已述及,文档类是应用程序存储数据的地方,而对话框是用户与应用程序之间信息交互的桥梁,那么,文档数据是怎样传…
在上一篇文章"MFC中使用Duilib--1"中, 没有用到资源文件,即xml,本篇讲怎样加载文件. 1.  在exe输出目录下,创建一个skin目录,里面放入需要用到的图片文件,以及创建一个或几个xml文件,在这里,我创建一个skin.xml文件.内容如下: [html] view plaincopy <?xml version="1.0" encoding="UTF-8"?> <Window mininfo="20…
1.用处 在多个类之间传递消息.当需要响应用户操作,本类却无法实现时,可以向系统发出消息.然后让系统中的需要的位置实现它. 2.方法 2.1定义这个消息,并让拥有者发送这个这个消息,传递一个整型参数 这里才需要发送消息的地方(实现文件,cpp文件中) 添加以下代码: //--让父窗口去更改值 ); GetOwner()->SendMessage(WM_CHANGED,,nrow); 2.2 这里的 WM_CHANGED 需要用户自己定义值, MFC中给用户自定义消息预留了消息字段 . 在(声明文…
互斥(Mutex)是一种用途非常广泛的内核对象.能够保证多个线程对同一共享资源的互斥访问.同临界区有些类似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问.当前占据资源的线程在任务处理完后应将拥有的互斥对象交出,以便其他线程在获得后得以访问资源.与其他几种内核对象不同,互斥对象在操作系统中拥有特殊代码,并由操作系统来管理,操作系统甚至还允许其进行一些其他内核对象所不能进行的非常规操作. 只有拥有互斥对象并得以进入到共享…
TeeChart作为一款强大好用的绘图控件,通过它可以绘制出各式各样的图表,包括2D的,还有3D的,绘制的图表美观实用,这里主要讲述如何在VS2013/MFC中使用TeeChart控件,顺便说一下在VS2013中如何创建MFC项目. 工具/原料 Visual studio 2013 TeeChart.pro.v5.ActiveX 方法/步骤 1 在网上下载TeeChart控件并安装,安装自然不用多说,安装完后找到安装路径(带有TeeChart5.ocx文件),复制当前路径 2 安装完后需要对控件…
由于视类窗口始终覆盖在框架类窗口之上,因此所有操作,包括鼠标单击.鼠标移动等操作都只能由视类窗口捕获.一个MFC消息响应函数在程序中有三处相关信息:函数原型.函数实现和以及用来关联消息和消息响应函数的宏. (1)在消息响应函数的原型代码中,函数声明的前部有一个afx_msg限定符,也是一个宏,该宏表明这个函数是一个消息响应函数的声明. (2)消息映射宏:在视图类的源文件中,BEGIN_MESSAGE_MAP()和 END_MASSAGE_MAP()这两个宏之间定义了消息映射表,例如对于画线,其中…
简介: 这个分为两个部分的系列文章研究了 Apache Tomcat 服务器的系统架构以及其运用的很多经典设计模式.第 1 部分 分析了 Tomcat 的工作原理,第 2 部分将分析 Tomcat 中运用的许多经典设计模式,如模版模式.工厂模式和单例模式等.通过学习它们的实践运用能给我们以后的软件设计起到一定的借鉴作用. 门面设计模式 门面设计模式在 Tomcat 中有多处使用,在 Request 和 Response 对象封装中.Standard Wrapper 到 ServletConfig…
在MFC中设置控件的背景色.字体.字体颜色.标题等属性主要是利用OnCtlColor函数来实现. 如: HBRUSH CAlarm::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)  { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here //设置静态控件的背景色和文本颜色 if (pWnd->G…
转载链接:http://wiki.opencv.org.cn/index.php/MFC%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%BA%94%E7%94%A8OpenCV 简介和缘起 本教程原始讨论主题,请见 [原创]MFC中快速应用OpenCV教程,制作此教程的目的,就是为了方便广大windows下面使用MFC的用户可以轻松的在MFC窗口View类中,实现OpenCV格式图片的显示.   介绍基本的openCV和MFC的操作   在MFC中如何应用菜单,和Canny算子的实…
原文:MFC中状态栏显示鼠标坐标位置,蝈蝈 1,利用MFC向导创建一个应用工程ewq. 2,打开ResourceView,右击Menu菜单,插入Menu,在空白处双击,Caption中填入Point. 3,为Point设置下拉菜单,ID为ID_INDICATOR_POINT:Caption为point:Prompt为X:XXXX,Y:YYYY. 4,打开MainFrm.cpp,在indicators数组中的第二个位置添加ID_INDICATOR_POINT. 5,将MainFrm中的成员变量m_…
MFC中listbox控件是为了显示一系列的文本,每个文本占一行.   Listbox控件可以设置属性为: LBS_CHILD   :(默认)子窗口 LBS_Visible :(默认)可视 LBS_Multiplesel :可选择多行 LBS_Extendedsel :可以使用shift或ctrl选择多行 LBS_SORT:所有行按字母顺序进行排序   对Listbox进行操作: Int listbox.AddString (  LPCTSTR     Str)   :对listbox的首行添加…
门面设计模式 门面设计模式在 Tomcat 中有多处使用,在 Request 和 Response 对象封装中.Standard Wrapper 到 ServletConfig 封装中.ApplicationContext 到 ServletContext 封装中等都用到了这种设计模式. 门面设计模式的原理 这么多场合都用到了这种设计模式,那这种设计模式究竟能有什么作用呢?顾名思义,就是将一个东西封装成一个门面好与人家更容易进行交流,就像 一个国家的外交部一样. 这种设计模式主要用在一个大的系统…
/* * ===================================================================================== * * Filename: a-kind-of-showDlg.cpp * * Description: 不使用CvvImage类来在MFC中显示图像 * * * Version: 1.0 * Created: 2013/11/16 22:06:13 * Author: yuliyang * * Mail: wzyu…
WINDOWS下展示OpenGL有多种形式: MFC 或 win32,该如何向MFC中添加OpenGL?下面是介绍最简单OpenGL框架. 1.首先通过VS建立MFC应用程序-MyOpenGL,选择单文档结构视图. 2.添加控制台窗体,帮助输出调试信息. CMyOpenGLView.cpp添加头文件 #include <conio.h> #include <iostream> #include <fcntl.h> #include <io.h> CMyOpe…
树形控件可以用于树形的结构,其中有一个根接点(Root)然后下面有许多子结点,而每个子结点上有允许有一个或多个或没有子结点.MFC中使用CTreeCtrl类来封装树形控件的各种操作.通过调用 BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );创建一个窗口,dwStyle中可以使用以下一些树形控件的专用风格: TVS_HASLINES 在父/子结点之间绘制连线 TVS_LINESATROOT 在根/…