
vc编程
文章平均质量分 81
matengbo
这个作者很懒,什么都没留下…
展开
-
CtreeCtrl的使用
这个例子类似windows的资源管理器 1.首先,建立一个基于对话框的程序,拖入一个Tree控件和List控件,其声明为CTreeCtrl m_TreeCtrl;CListCtrl m_list;//list控件对应的imagelistCImageList *m_imagelist;//tree控件对应的imagelistCImageList *m_listimage;原创 2009-11-16 13:10:00 · 1616 阅读 · 0 评论 -
C++字符串完全指引之二 —— 字符串封装类
<br /> 引言<br /><br /> 因为C语言风格的字符串容易出错且不易管理,黑客们甚至利用可能存在的缓冲区溢出bug把C语言风格的字符串作为攻击目标,所以出现了很多字符串封装类。不幸的是,在某些场合下我们不知道该使用哪个字符串类,也不知道怎样把一个C风格的字符串转换成一个字符串封装类。<br /> 这篇文章将介绍所有在Win32 API, MFC, STL, WTL 和 Visual C++ 运行库中出现的字符串类型。我将描述每一个类的用法,告诉大家怎样创建每一个类的对象以及怎样把一个类转换成转载 2010-10-20 15:18:00 · 454 阅读 · 0 评论 -
C++字符串完全指引之一 —— Win32 字符编码
原文出处:CodeProject:The Complete Guide to C++ Strings, Part I引言 毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。你也许正在盯着显示器发愁。本指引将总结引进各种字符类型的目的,展示一些简单的用法,并告诉您在必要时,如何实现各种字符串类型之间的转换。 在第一部分,我们将介绍3种字符编码类型。了解各种编码模式的工作方式是很重要的事情。即使你已经知道一个字符串是一个转载 2010-09-26 18:01:00 · 424 阅读 · 0 评论 -
大话设计模式学习(十一)——观察者模式
<br />观察者模式又叫发布—订阅模式。它定义了一种一对多的依赖关系,让多个观察着对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使他们能够自动更新自己<br /><br />Subject类,可以翻译为主体或者抽象主题,一般用一个抽象类或者一个接口实现<br />class Subject {public: //增加观察者 void Attach(Observer* observer) { observers.push_back(observer)原创 2010-08-03 22:31:00 · 881 阅读 · 0 评论 -
C与VC下面的函数指针
<br />在标准C&C++下面,函数指针的用法如下:<br />定义一个函数指针模板<br />typedef char *(*lpExecFunc)(char *);<br />它对应的函数类型如下:<br />char * DealDB2Query(char * lpInbuffer)<br />{<br />}<br />在使用的地方,我们可以先定一个函数针<br />lpExecFunc pDealFunc;<br />然后赋值<br />pDealFunc = DealDB2Query;<转载 2010-08-03 22:17:00 · 2311 阅读 · 0 评论 -
浅拷贝,深拷贝
对于普通类型的对象来说,他们之间的复制是非常简单的,例如: int a = 10;int b =a; 自己定义的类的对象同样是对象,谁也不能阻止我们用以下的方式进行复制,例如:#include using namespace std;class Test{public: Test(int temp) { }protected: int p1;转载 2010-05-26 22:14:00 · 370 阅读 · 0 评论 -
.net,c#,c++,vc.net ,vc 诸多名词的区别与联系
<br /> <br /> 从十年前开始接触编程,接触c,历经各种名词,tc2,tc3,boland c++,c++bulid,vc,vc.net,c#,现在是visual studio 2005。直看的人头晕脑胀。几乎一两年就出现一个新名词。很多东西自己也没使用过,但根据网上的搜索,做个总结吧。所有的一切都是.net引起的。.NET包含一系列的先进技术,里面也有VC呀<br /> <br />1.名词解释:<br /> <br />(1)c就不用说了。地球人都知道。<br /> <br /转载 2010-06-27 22:46:00 · 2359 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化转载 2010-06-27 22:12:00 · 433 阅读 · 0 评论 -
窗口分割类——Cxysplitter类的使用
现在介绍另一个比较有用的类,我们可以利用它来调整窗口各个界面的大小。以之前在《CtreeCtrl的使用》中实现过的资源管理器为例,对话框中Tree控件和List控件的大小是固定的,我们可以通过使用《窗口排列类——ETSLayout的使用》的方法来实现改变窗口大小时,调整空间大小的问题,但是如果我们不改变窗口大小,如何改变这两个控件所占用的空间呢?此时Cxysplitter类便派上用场了.st原创 2009-11-22 18:42:00 · 1171 阅读 · 0 评论 -
窗口排列类——ETSLayout的使用
我们在使用MFC进行界面编程时,会发现当窗口放大或者缩小的时候,里面的控件大小排列等都不会随着窗口的变化而变化,下面介绍一个很好用的类,可以帮助我们解决这个问题。1 首先下载ETSLayout类,将其加入project中。2 在需要排列的对话框类中包含ETSLayout的头文件,并将其父类从CDialog替换为ETSLayoutDialog,注意,对话框类中所有的CDialog字样必须全原创 2009-11-18 11:34:00 · 3123 阅读 · 0 评论 -
UNICODE字符集下CString与char*的转换
<br /> 在Visual C++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节字符集(MBCS:Multi-Byte Character Set),这样导致在VC6.0中非常简单实用的各类字符操作和函数在VS2005环境下运行时会报各种各样的错误,这里总结了在Visual C++.NET2005环境中Unicode字符集下CString和char *之间相互转换的几种方法,其实也就是Unicode字符集与MBCS字符集转换。<br />1、Unic转载 2010-10-24 14:32:00 · 1308 阅读 · 0 评论