- 博客(39)
- 资源 (4)
- 收藏
- 关注
原创 关于虚函数的那些事
首先介绍一下虚函数的一些知识: 虚函数分为普通虚函数和纯虚函数两种。虚函数是对于面向对象中多态性的支持,而对多态性的支持就是由以上两种形式进行实现的。很多初学者在开始学习虚函数的时候只是对虚函数的一些理论知识有所了解,但是对于具体的实现可能还是比较模糊,本人就是经历这个过程之后,才慢慢熟悉并比较深入的了解虚函数是如何实现多态性的。 普通虚函数
2013-01-24 21:55:07 694
转载 MFC 中英文同步
实现思想:传统的做法是把所有的资源都放到动态库中,一种语言一个动态库,程序运行的时候通过加载不同的动态库来实现多语言功能。这样做的缺点是不能动态切换语言,如果更换语言后必须重新启动软件。当然,没有人会需要经常的切换语言玩儿,但是采用动态库的方法,如果程序需要修改资源的话,就要更新所有的动态库,这是一个非常枯燥而且容易出现疏漏的工作。我的方法是把所有用到的字符串都放到文件中,一种语言一个
2013-01-16 10:14:45 2233
转载 虚函数的知识
C++中的虚函数 转自http://www.cppblog.com/dawnbreak/archive/2009/03/10/76084.htmlC++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来
2012-11-22 09:56:35 601
转载 Windows消息机制
从Windows 操作系统消息驱动机制开始,进而探讨模态对话框实现过程的消息封装、传递和处理机制,最后以模态的形式显示应用到文档/视图框架结构中的实例作为对所讲内容的验证和实践。 一、Windows消息机制 Windows是一种面向对象的体系结构,Windows环境和应用程序都是通过消息来交互的。Windows应用程序开始执行后,Windows为该程序创建一个"消息队列
2012-11-02 16:12:20 895
转载 MFC编个对话框,能够实时显示摄像头捕捉的镜头
现在在vc上采集视频常用的方法有三:vfw,directshow,opencv 你是要进行图像处理的话推荐opencv(具体参考:于仕琪,opencv教程基础篇中的例3-6,稍作修改,估计就能用于你的工程) 下面贴出我自己编的一个小工程:如有疑问,E-mail:zhoutingzhi@gmail.com 进行opencv的预备操作你要看那本书和逛opencv中文网 如有
2012-09-28 09:08:11 16058 1
转载 OpenCV学习笔记 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面 .
原始版本下载页面(仅显示图像):http://download.csdn.net/source/1779188P.S.:后面又添加了播放视频和捕获摄像头画面的功能,其中播放视频的功能只有 'Play' 和 'Stop',不能实现暂停,《A step-by-step guide to the use of Microsoft Visual C++ and the Intel
2012-09-28 09:05:27 3852
转载 MFC消息响应机制分析
---- MFC是Windows下程序设计的最流行的一个类库,但是该类库比较庞杂,尤其是它的消息映射机制,更是涉及到很多低层的东西,我们在这里,对它的整个消息映射机制进行了系统的分析,可以帮助程序开发人员对MFC的消息映射机制有一个比较透彻的了解。1.引言---- VC++的MFC类库实际上是Windows下C++编程的一套最为流行的类库。MFC的框架结构大大方便了程序员的编程工作,但是为
2012-09-17 10:19:51 922
转载 VC 绘图,使用双缓冲技术实现
VC 绘图,使用双缓冲技术实现2009-12-06 21:32:24| 分类:VC++ | 标签:|字号大中小订阅 *******************************************************************例子*****************************************************
2012-09-11 10:29:55 2262
转载 MFC ListCOntrol
开发环境:visual studio 2008 sp11、新建一个基于对话框的MFC应用程序。在对话框上拖放一个listcontrol控件和一个button控件,给listcontrol控件添加一个名为m_StoreItems的变量。添加button的点击响应函数。void CDepartmentStoreDlg::OnBnClickedNewitem(){
2012-08-30 10:30:29 1240
转载 Tab Control控件的详细使用
1. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish. 2. 删除对话框上默认添加的三个控件. 添加Tab Control控件并在Property属性中设置ID为IDC_TABTEST 在More Styles里勾上Bottom. 调速尺寸使其布满整个对话框, 我这边Tab Control的尺寸最后为164X203. 在ClassWizard为其添加变
2012-08-24 16:59:24 32927 5
转载 MFC ListControl技巧汇总
转自:http://hi.baidu.com/qi_xian/blog/item/1971aa22da89ada24723e856.html以下未经说明,listctrl默认view 风格为report-------------------------------------------------------------------------------1. CListCtrl 风
2012-08-24 09:50:20 26943 2
转载 MFC ComboBox 使用方法
这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。1、定义控件对应变量假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box控件拖放到上面。打开 Class Wizard,添加控件对应变量,如:CComb
2012-08-22 10:15:12 940
转载 vc picture控件的使用
方法1.先从最简单的开始,用picture 控件来实现.步骤:先在资源里Import一张图片,ID为IDB_BITMAP2然后在对话框上添加一个picture控件,右键点击打开属性,将type下拉框选择BITMAP,紧跟着下面就出现一个Image下拉框,拉开就会看到所有已经载入好的图片,选择你要的图片.运行程序即可看到.方法2vc
2012-08-20 17:11:10 886
转载 VC CComboBox用法
CComboBox使用技巧:1. CComboBox风格CBS_AUTOHSCROLL //自动水平滚动条CBS_DISABLENOSCROLL //选中时始终显示滚动条 CBS_DROPDOWN //下拉式 CBS_DROPDOWNLIST //下拉列表 CBS_HASSTRINGS //为字符串提供GetText()函数CBS_LOWERCASE
2012-08-16 14:32:33 19107
原创 MFC程序使用CComboBox控件详解
CComboBox控件又称作组合框控件,其有三种形态可供选择:1.简单组合框(Simple)2.下拉组合框(Drop-down)3.下拉列表式组合框(Drop-down list).CComboBox控件的常用设置属性说明:type属性:里面一共有三个选项.就是其三种形式, 我们常用的是后两种形态,其区别就是Dropdown的编辑区为可编辑控件,而droplist为
2012-08-16 09:46:12 14135
转载 MFC如何避免闪烁
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪烁?我们的绘图过程大多放在O
2012-08-08 17:50:22 3384
转载 理解文档/视图框架
了解文档和视图的相互作用关系是编写MFC程序的基本功。但是MFC的应用程序框架把文档和视图之间的关系封装了起来,初学的朋友往往不得要领,因此写程序往往被局限于在用向导生成的框架中。本文希望能够尽可能说明白文档视图框架之间是如何进行作用,希望能给一些朋友带来小小的帮助。几个概念: (虽然大家都知道了,还是要重申一次) 文档对象:是用来保存数据的。 视图对象:是用来显示和编辑数据的
2012-08-02 13:10:49 1601 1
转载 MFC文件读写之ini文件
什么是ini文件?initialization File,即为初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置。或者作为项目中的配置文件,为整个项目所共用。文件格式为 节、键、值。其中节为[Section name], 参数为 key(键)=value(值)。ini文件中注解使用分号表示(;),在分号后面的文字,直到该行结尾都全部为注解。[S
2012-08-02 11:43:59 5799
转载 MFC多文档应用程序同时显示两个视图
转载▼本文是对网络上各种资料进行了梳理,并在VisualC++6.0下进行了实验测试。需要解决的问题如下:1. 在MFC多文档应用程序中同时显示两个视图,其中一个视图显示电路原理图,另外一个显示仿真结果。2. 两个视图需要同时显示,但是并非分割显示,而是通过切换(切换功能尚未实现)在多文档应用程序中,视图类是由CMultiDocTemplate来负责管理的。自动生成的M
2012-08-02 10:55:25 3831 2
转载 MFC编程综述
MFC编程综述采用MFC开发Windows程序之所以能够大幅度提高开发速度和效率主要是因为MFC在类层次封装了大量Windows SDK函数和典型Windows应用的缺省处理,这样,用户只需要较少的编程就可以实现自己的开发任务。如果在MFC基础上再配合Visual C++提供的AppWizard、ClassWizard和AppStudio工具那么更可以大幅度加快开发进程。MFC提供大量的基类供
2012-08-02 10:44:55 1241
转载 MFC中创建没有子窗口的MDI应用程序
如何创建一个 没有子窗口的多文档应用程序 .. 这里涉及到 CCommandLineInfo 类 下面说说这个类的用处 这个类在 MFC应用程序初始化时候调用 可以通过命令参数 来设置 程序初始状态在 APP类的初始化函数中有如下代码 CCommandLineInfo cmdInfo;. //定义一个 CConnandLineInfo类的对象ParseCommand
2012-08-02 09:37:56 994
转载 MFC MDI
MDI(Multiple Document Interface) 是Windows 界面的一种规范,它建立多个窗口来浏览文档数据,如Windows 中的Program Manager 等都是按MDI 规范实现的。在实际工程软件开发中,许多程序员将其作为一种实现多窗口的标准方法。微软基础类库(Microsoft Foundation Class Library, 简称MFC 库), 是微软公司为方便
2012-08-02 09:26:48 1091
转载 关于MFC的各种技巧回答
问】如何判定剪贴板中有没有文本数据? 答】COleDataObject dataObject;dataObject.AttachClipboard();if(dataObject.IsDataAvailable(CF_TEXT)){.....//有文本数据}问】如何得到ComboBox的Edit句柄?答】CEdit *pEdit = (CEdit*)CCombo
2012-08-01 10:45:18 5752
转载 MFC访问注册表和ini文件
在MFC中访问注册表================= MFC在类CWinApp里提供了一个成员函数SetRegistryKey(),调用它后就可以用访问.ini文件的成员函数访问注册表了。CWinApp:: SetRegistryKey() 格式:void SetRegistryKey(LPCTSTR lpszRegistryKey);lpszRegistryKey 的含义:HKEY_
2012-08-01 09:35:21 2309
转载 MFC项目开发方法和技巧总结(适合初级编程人员)
在过去的两个月中,我和老师一起开发了一个编辑编译器,主要是参加省“挑战杯”比赛,当时我只有两个星期的MFC经验,很多地方都不会做,到处找代码,看文章,十分辛苦。好在网上资源还比较丰富,非常感谢 csdn pudn 两个网站。在此我把我学习和总结的MFC经验分享给大家,以供参考学习。首先还是谈一下看技巧和方法这类文章的感受:1.学习MFC一定要有点基础,要入门。你这少要到图书馆去看过、浏览过
2012-07-27 17:30:29 3649 1
原创 MFC 之树控件篇
CTreeCtrl m_wndMyTree;1) 取得树的当前选中节点:HTREEITEM hSelectedItem = m_wndMyTree.GetSelectedItem();2) 取得指定节点的标签值(也就是Caption):CString strCaption = m_wndMyTree.GetItemText(hSelectedItem);3) 记住:MFC中的树
2012-07-27 11:04:54 1743
转载 MFC学习总结
1."属性页的添加:创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为属性页的类(头文件)里创建CpropertySheet类的一个对象m_tabsheet和新创建的对话框类的对象m_skatch;最后,在.cpp文件里的OnInitDialog()之类的函数里实现如下代码:m_tabsheet.Create(this, WS_CHILD | WS_VISIBL
2012-07-25 15:13:27 3534
原创 CSrollView的使用
1)在VC中如何使用CScrollView类,即让视图具有滚动的功能;方法 一:新生成的视图类,必须继承CScrollView类,如下所示:class CImageProcessingView : public CScrollView{……;}然后在C*****View中,修改OnInitialUpdate()成员的代码,其中要进行矩形长、宽的设置,如下:siz
2012-07-25 09:57:19 1175
转载 视图分割与视图间通信资料汇总!
VC++ 6.0中实现三叉切分窗口与多视图一、引用 当用户需要同时对文当的不同部分进行编辑时,常常会用到切分窗口;这些窗口可以都是相同的视,或者一个窗口为列表视,而另一个为树型视图。应用程序框架有多种方式来表示多视图,切分窗口是其中的方式之一。 切分窗口分为动态切分窗口和静态切分窗口,它们都是由CsplitterWnd类(MFC类库)来实现的,在这两种表示方式中,创建同一视图类的对
2012-07-12 09:44:45 2585 1
转载 MFC 多视图之间的通信
之前以为单文档多视图通信,尤其是视图中又包含对话框等等控件的时候,就非得通过文档类做中介,或者只能由视图传给属于自己的对话框控件,实际上只要两行代码就可以在工程的任意地方获取任意视图的指针!单文档多视图之间的通信http://topic.csdn.net/u/20091002/12/44e64420-3c37-4632-b120-674ac31dbf9e.html>http://www
2012-07-12 09:34:00 5270 2
转载 MFC框架类、文档类、视图类相互访问的方法
1、获取应用程序指针 CMyApp* pApp=(CMyApp*)AfxGetApp();2、获取主框架指针 CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针 CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd); 或者 CMainFrame* pMainFrame = (CM
2012-07-10 09:15:44 2294 1
原创 preg_match
preg_match(PHP 3>= 3.0.9, PHP 4 )preg_match -- 进行正则表达式匹配说明int preg_match ( string pattern, string subject [, array matches [, int flags]])在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。如
2012-04-12 16:18:39 446
原创 C++/C提高编程质量的一些规则(2)
规则五十一:如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。并且由于前者老要进行逻辑判断,打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。如果N非常大,最好采用示例下面的写法,可以提高效率。如果N非常小,两者效率差别并不明显,采用上面示例的写法比较好,因为程序更加简洁。for (i=0; i{if (condition)DoSo
2012-04-12 16:16:35 631
原创 C++/C提高编程质量的一些规则(1)
规则一:为了防止头文件被重复引用,应当用ifndef/define/endif结构产生预处理块。规则二:用 #include 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。规则三:用 #include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。规则四:头文件中只存放“声明”而不存放“定义”.在C++语法中,类的成员函数可以在
2012-04-12 15:38:12 742
原创 c++中 const的介绍
const语法虽然变化多,但并不是高深莫测。如果关键字const出现在星号左边,表示被指物事常量;如果出现在星号的右边,表示指针自身是常量;如果出现在星号两边,表示被指物和指针两者都是常量。如果被指物是常量,关键字可以放在类型之前,也可以放在类型之后,星号之前。两种形式的意义相同,例如:void f1(const int * pw);void f2(int const * pw);
2012-04-11 16:14:46 488
原创 C语言需要了解的(三)
1.在printf()和scanf()语句中,像%d这样的适合于int的格式,用于long可能会引起意外的结果。应当对long使用%ld。使用转换符d前的修饰符l代表long.类似地,当用short时,应该使用%hd,转换符前的修饰符h代表short。2.程序员在printf()中可以使用%f输出float或double。然而,在scanf()中必须用格式%f输入float,用格式%lf输入d
2012-01-05 14:15:05 453
原创 关于thinkphp的基础学习(一)
一.thinkphp的视图模型%Fp> 定义视图模型并不是那么的困难,只需要继承ViewModel,然后设置Viewfield属性就可以了。 class BlogViewModel extends ViewModel{ public $Viewfields=array('Blog'=>('name','id','title'),'Category'=>ar
2011-12-07 00:04:25 629
原创 C语言需要了解的(二)
1.一个常见的编程错误是假设函数能改变变量的值。因为在C中函数是严格遵循按值调用的,所以在调用环境中不可能通过用变量作为参数调用来改变变量的值。 如: f()是函数,V是变量,那么f(V)在调用环境中不能改变变量V的值 如果f()中返回一个值,令V=f(V),则能够改变变量的值。2.在main()函数中使用return和exit()是等价
2011-11-07 10:36:38 402
原创 C语言中需要了解的(一)
C语言是没学习计算机专业学生必修的课程,很多知识在你学习很多年以后也不敢狂妄的说自己对它了如指掌,以下的一些细节你知道吗?对于初学者可以多看看: 作为c中的输入输出函数,在预处理引入staio.h后才可以进行使用,这也就是为什么只要你编写c程序都要在程序的最前先写#include<stdio.h>的 原因。但是对于输入函数scanf和输出函数printf的使用你了解吗?对于%f的使用,prin
2011-10-25 12:25:32 715
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人