自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沙漠天空

我思故我在

  • 博客(88)
  • 资源 (17)
  • 收藏
  • 关注

转载 各种窗口关系

1.Pop-up窗口: 一个弹出窗口是必须具有WS_POPUP属性的窗口,弹出窗口只能是一个Top-Level窗口,不能是子窗口,弹出窗口多用于对话框和消              息框,也可以用于应用程序的主窗口, 弹出窗口可以不必具有标题栏2.Overlapped窗口: 一个重叠窗口是一个必须具有WS_OVERLAPPED属性的窗口,也就是一个重叠窗口必须具有边框,标题栏,客户

2014-06-08 22:17:17 751

转载 自己如何获取ADO连接字符串

自己如何获取ADO连接字符串      有时候我们参考网上的ADO连接字符串写未必就能连接上数据库。今天详细介绍下这个很流行的如何获取ADO字符串的方法,就能很容易直观看到这个连接字符串是否真能连接上数据库。编写了相应的软件ADO助手,详见《如何使用ADO助手生成数据库代码》。 1.    新建一个文本文件“ado.txt”,重命名为“ado.udl”     注

2013-09-24 18:52:03 812

转载 C++ 11 tuple & 可变参数模板

C++ 11中引入的tuple是一个N元组。它相当于有N个成员的结构体,只不过这个结构体的成员都是匿名的。tuple中有两个特殊的函数,一个是head(),用于获取第一个成员的值,另一个是tail(),用于获取剩下所有成员的值,tail()本身又是一个tuple。这样,如果我们想取tuple中第二个成员的值,则可以先取tail()的值,再取tail()的head()的值。当然,这样使用的话比较麻烦

2013-09-07 19:05:59 1127

转载 可变参数模板(Variadic Templates)

可变参数模板要解决的问题:怎么创建一个拥有1个、2个或者更多的初始化器的类?怎么避免创建一个实例而只拷贝部分的结果?怎么创建一个元组?最后的问题是关键所在:考虑一下元组!如果你能创建并且访问一般的元组,那么剩下的问题也将迎刃而解。这里有一个例子(摘自“可变参数模板简述(A brief introduction to Variadic templates)”(参见参考

2013-09-07 19:01:57 1209

转载 简易的灰度处理

近期在进行自绘控件的开发时,时常用到灰度图像。譬如真彩色工具条中的Disable状态的图标,譬如真彩菜单Disable状态的图标等。照常来说,可以让控件的使用者去制作相应的图标。然而,为了让控件的使用者在使用控件时尽量简单,一个比较好的办法是在程序中生成Disable状态的图标。本文提供了一个简单的封装类CGrayBitmap,使用它的静态方法DoGray可以根据一个常规图片生成它的灰度图。 

2013-08-29 19:50:27 845

转载 C++11新特性:Lambda函数(匿名函数)

C++11终于知道要在语言中加入匿名函数了。匿名函数在很多时候可以为编码提供便利,这在下文会提到。很多语言中的匿名函数,如C++,都是用Lambda表达式实现的。Lambda表达式又称为lambda函数。我在下文中称之为Lambda函数。为了明白Lambda函数的用处,请务必先搞明白C++中的自动类型推断:http://blog.csdn.net/srzhz/article/details

2013-08-09 17:19:30 710

转载 C++11新特性:自动类型推断和类型获取

自动类型推断当编译器能够在一个变量的声明时候就推断出它的类型,那么你就能够用auto关键字来作为他们的类型:[cpp] view plaincopyauto x = 1;  编译器当然知道x是integer类型的。所以你就不用int了。接触过泛型编程或者API编程的人大概可以猜出自动类型推断是做什么用的了:帮你省去大量冗长

2013-08-09 17:18:06 668

转载 MFC中SetWorldTransform函数中XFORM结构体的使用

SetGraphicsMode  函数功能:该函数为指定的设备环境设置图形模式。  函数原型:int SetGraphicsMode(HDC hdc, int iMode);  参数:  hdc:指向设备环境的句柄。  iMode:指定图形模式,该参数可为下列值之一:  GM_COMPAIBLE:设置与16位Windows相兼容的图形模式,这是缺省的模式。如果指定此值,

2013-07-22 11:19:27 2547

转载 __declspec(selectany) 的作用

在MFC,ATL的源代码中充斥着__declspec(selectany)   的声明。selectany可以让我们在.h文件中初始化一个全局变量而不是只能放在.cpp中。比如有一个类,其中有一个静态变量,那么我们可以在.h 中通过类似"   __declspec(selectany)   type   class::variable   =   value;   "这样的代码来初始化这个全局

2013-07-13 22:35:40 702

转载 VS与Win7 共舞:用户界面特权隔离(二)

现在,我们可以调用ShellExecute,以不同的特权等级运行这个应用程序,他们虽然处于不同的特权等级,但是由于我们使用ChangeWindowMessageFilter将自定义的消息添加进了白名单,他们都可以处理这个自定义的消息了。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.C

2013-03-26 20:38:05 995

转载 VS与Win7 共舞:用户界面特权隔离(一)

用户界面特权隔离  在早期的Windows操作系统中,在同一用户下运行的所有进程有着相同的安全等级,拥有相同的权限。例如,一个进程可以自由地发送一个Windows消息到另外一个进程的窗口。从Windows Vista开始,当然也包括Windows 7,对于某些Windows消息,这一方式再也行不通了。进程(或者其他的对象)开始拥有一个新的属性——特权等级(Privilege Level)。一个

2013-03-26 20:32:30 851

原创 总是梦到您,好想您

您走了已经33天了,最近总是能梦到您,可大多醒来就不很清晰,今天早上梦中的您却是那么的清晰。梦到您的场景还是我们的老房子,在床上看到您,是您走之前的样子,慢慢的,您精神神情都好起来了,跟以前一样,结实健康,我握着您的手走到放杂物的房间,你要看看家里的谷仓是不是满的,搭了个梯子上楼看房顶是不是好的,然后您下来了,要出那间房子的时候,您身形慢慢的缩小,缩小,除了脸是我熟悉的脸,其他都像个小孩,我抱起你

2011-12-03 21:47:47 565

转载 LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突

以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究。但是耿耿于怀那个“ 0 个错误,0 个警告”的成功提示,在网上搜了一下。原来问题出在默认库的引用选择上。VS2008,项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用的库都使用相同的配置,否则就会有相应的提示,甚至可能会出现无法解析的函数。有时我们使用的库不是自己可以控制的,那么就只能把工程属性设置成和你使用的库相同的选项。错误 1 error LNK2005: _free 已

2011-02-18 22:44:00 695

转载 调试技巧之调用堆栈

简单介绍<br /> <br />首先介绍一下什么叫调用堆栈:假设我们有几个函数,分别是function1,function2,function3,funtion4,且function1调用function2,function2调用function3,function3调用function4。在function4运行过程中,我们可以从线程当前堆栈中了解到调用他的那几个函数分别是谁。把函数的顺序关系看,function4、function3、function2、function1呈现出一种“堆栈”的特征,最后

2010-08-03 23:50:00 690

转载 如何学好C++,用好类库很重要

<br />如果你有一定的C基础可能学起来比较容易些,但是学习C++的过程中又要尽量避免去使用一些C中的思想;平时还要多看一些高手写的代码,遇到问题多多思考,怎样才能把问题抽象化,以使自己头脑中有类的概念;最后别忘了经常上机自己调调程序,这是谁也代替不了的.<br />C++类库介绍 <br /><br /> 再次体现了C++保持核心语言的效率同时大力发展应用库的发展趋势!!在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论

2010-07-25 16:36:00 560

转载 在VC6.0下设置Unicode编译环境

VC++ 6.0支持Unicode编程,但默认的是ANSI,所以开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持UNICODE的应用程序。  使用VC++ 6.0进行Unicode编程主要做以下几项工作: 1、为工程添加UNICODE和_UNICODE预处理选项。   具体步骤:打开[工程]->[设置…]对话框,在C/C++标签对话框的“预处理程序定义”中去除_MBCS,加上_UNI

2010-04-05 22:19:00 519

原创 伪句柄

      对于句柄,大家都比较清楚和熟悉,可什么是伪句柄呢?       大家知道在系统中,对象分两类:核心对象和用户对象。如进程对象,线程对象,文件映射对象等就是核心对象;而向窗口,菜单等都是用户对象。这两者是有差别的,用于标示用户对象的句柄是系统唯一的,也就是说,一个进程完全可以对另外一个进程中的用户对象进行操作,比如两个进程间通信的方法之一就是发送消息。正是由于窗口是用户对象,所以

2010-04-05 09:57:00 1055

转载 什么时候RTTI会用得上

If you have derived your class from CObject and used the DECLARE_DYNAMIC and IMPLEMENT_DYNAMIC, the DECLARE_DYNCREATE and IMPLEMENT_DYNCREATE, or the DECLARE_SERIAL and IMPLEMENT_SERIAL macros explain

2010-04-03 22:04:00 1485 1

转载 RTTI

通过运行时类型识别(RTTI)(Run-Time Type Identification),程序能够使用基类的指针或引用来检查这些指针或引用所指的对象的实际派生类型。  RTTI提供了一下两个非常有用的操作符:  (1)typeid操作符,返回指针和引用所指的实际类型;  (2)dynamic_cast操作符,将基类类型的指针或引用安全地转换为派生类型的指针或引用。  面向对象的编

2010-04-03 15:58:00 639

转载 WaitForSingleObject 的讨论

问: 众所周知,在用户模式下等待某一个线程或其他事情的发生是要浪费CPU时间的,但若在内核模式下,比如WaitForSingleObject就不会占用CPU时间(除了两种模式之间的切换时间),那么系统是如何做到的呢,难道她就不需不断检测相应的内核对象吗?若是,那内核对象的结构是什么样的? =================================================== 答:

2010-03-30 23:05:00 729

原创 如何在Edit中切换为默认输入法

     从CEdit继承一个新类,再将他子类化到IDC_EDIT2控件上,即      CMyEdit2 m_MyEdit2;     m_MyEdit2.SubclassDlgItem(IDC_EDIT2,this);       新类CMyEdit2      .h文件 #if !defined(AFX_MYEDIT2_H__62F117FB_70

2010-03-27 22:03:00 1252

原创 非窗口消息传递路由

       图片上显示出了当编辑框和列表控件获得焦点和失去焦点时候,消息经过的路径 

2010-03-21 16:57:00 635

转载 深度解析VC中的消息(下)

MFC消息的处理实现方式   初看MFC中的各种消息,以及在头脑中根深蒂固的C++的影响,我们可能很自然的就会想到利用C++的三大特性之一:虚拟机制来实现消息的传递,但是经过分析,我们看到事情并不是想我们想象的那样,在MFC中消息是通过一种所谓的消息映射机制来处理的。  为什么呢?在潘爱民老师翻译的《Visual C++技术内幕》(第4版)中给出了详细的原因说明,我再简要的说一遍。在CWnd类中大

2010-03-19 19:31:00 467

转载 深度解析VC中的消息(中)

从消息的发送途径来看,消息可以分成2种:队列消息和非队列消息。消息队列由可以分成系统消息队列和线程消息队列。系统消息队列由Windows维护,线程消息队列则由每个GUI线程自己进行维护,为避免给non-GUI现成创建消息队列,所有线程产生时并没有消息队列,仅当线程第一次调用GDI函数数系统给线程创建一个消息队列。队列消息送到系统消息队列,然后到线程消息队列;非队列消息直接送给目的窗口过程。    

2010-03-19 19:29:00 578

转载 Spy++原理初探

Spy++原理初探作者:南京 宋陈三下载源代码 摘要:用Visual Studio搞开发的朋友对Spy++这个工具一定不陌生,它可以分析窗体结构、进程和窗口消息,对开发工作有很大辅助作用。我们需要研究某个对象时,只要调出其查找窗口,拖动探测器的指针到指定窗口/控件上释放即可。下面,笔者就和大家一起,用VC打造一个属于自己的Spy++。 关键字:句柄 消息 子类化 正文:  打开

2010-03-18 23:35:00 507

转载 VC和MFC的一些常见问题

 如何抛出(throw)由CUserException派生的异常?当我试图捕获(catch)一个派生类异常时,我得到以下错误"error C2039:classCMyException: is not a member of CMyException classCMyException: undeclared identifier Is

2010-03-18 23:34:00 471

转载 让密码更安全

---- 随着应用软件的日益丰富,需要使用密码的地方也越来越多,尤其是对于上网的人来说,密码几乎无处不在。然而在当前各种应用软件中普遍存在密码的安全问题,其原因在于各种开发工具中编辑框存在安全漏洞。密码输入显示是需要保密的,所以用来做输入和显示的编辑框可以设置passwordchar,这时候编辑框就会只显示‘*’之类的字符,而将真正的文本隐藏起来。这样似乎文本就无法看到了,然而事实上这样的保护是非

2010-03-18 22:56:00 772

转载 关于SubClassDlgItem

关于SubClassDlgItem 子类化 SubClass Dialog 上面的一个控件呀! SubClass 某个控件后,其原来的 WindowProc 替换成你自己写的 CYourCWndClass 的 WindowProc,这样你就可以处理这个控件的所有消息了;用 ClassWizard 维护自己的 CYourCWndClass 就可以了。 在MFC中除了SubClassDlgIt

2010-03-18 21:27:00 4098 3

原创 动态创建一个按钮

有两种方法: 第一种方法:    在resource.h中定义按钮的ID:   #define   IDC_MYBUTTON   1010  在对话框的.h文件中声明一个Button指针CButton   *m_pButton;    在构造函数中: m_pButton=NULL;  在析构函数中:       if (m_pButton != NULL)     { 

2010-03-18 20:41:00 1890

转载 深入探索MS COM开发框架 之 MFC和ATL(三)

1.        事实上,组件类获得接口映射表是通过GetInterfaceMap()静态成员函数先获得interfaceMap结构变量,此变量的第二个值便是接口映射表的入口.InterfaceMap的第一个值保存了基类的_GetBaseInterfaceMap函数指针.为在组件类中找不到接口的定义时,通过_GetBaseInterfaceMap获得基类的interfaceMap,从而获得基类的

2010-03-08 23:37:00 796

转载 深入探索MS COM开发框架 之 MFC和ATL(二)

本来,通过C++编译器的cast转换符具有的对地址偏移的计算能力,可以完成任务,不过ATL中还是采用了建表(数据驱动,data-driven)这种策略,以获得更好的性能和灵活性,事实上,(事实上,就性能而已本人认为差别很小,实质在cast方案中,每次都从this出发,计算偏移,得到正确的接口入口点.而数据驱动方案,直接可以直接查询得到接口入口点,因为它在编译时就计算了偏移量,存于表中.)三、宏剖析

2010-03-08 23:29:00 710

转载 深入探索MS COM开发框架 之 MFC和ATL(一)

文章索引:一、概述和待剖析宏罗列二、MFC、ATL COM支持原理概述三、宏剖析☆      ☆ MFC篇PART1----接口基础构造的由来PART2 ----深入CCmdTarget看一看COM三大元素的实现PART3------类厂的由来PART4-------自动化支持PART5-------组件得以使用的纽带:几个核心函数☆      ☆ ATL篇PART1----几个核心模板类介绍PA

2010-03-08 23:27:00 1037

转载 extern

1 基本解释   extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。  另外,extern也可用来进行链接指定。  2 问题:extern 变量  在一个源文件里定义了一个数组:char a[6];  在另外一个文件里用下列语句进行了声明:extern char *a;  请问,这样可以吗?  

2010-03-06 11:00:00 576

原创 extern "C"

extern "C" 包含双重含义,从字面上即可得到:首先,被它修饰的目标是“extern”的;其次,被它修饰的目标是“C”的。让我们来详细解读这两重含义。  (1) 被extern "C"限定的函数或变量是extern类型的;  extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。记住,下列语句:

2010-03-06 10:49:00 504

原创 如何单击鼠标移动整个窗体

      当我们鼠标左键单击标题栏的时候可以移动整个窗体的,但如何鼠标左击窗体任何一个地方都可以移动整个窗体呢。可以这样做      void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)    {          SendMessage(WM_SYSCOMMAND,0xF012,0);                        

2010-02-28 20:51:00 1562

原创 九江如画山水

      九江是一个美丽的地方。九江,集名山(庐山)、名江(长江)、名湖(鄱阳湖)于一体,是一座具有2200多年历史的江南文化名城和旅游城市。130多年前,这里就是对外通商口岸,1992年被国务院批准为长江沿岸开放城市。长江是中国最大、最长的东西向水上大通道,京九铁路是我国最长、现代化程度最高的南北向陆上运输大通道,两条大动脉在九江市区交汇,九江成为承东启西、引南接北的金十字交汇点。九江市城南的

2010-02-28 20:06:00 1587

原创 函数指针和指针函数

【函数指针】       在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可少,后面

2010-02-27 22:51:00 488

转载 vc6开发程序几个配套软件

首先机器上要有VC6.0和MSDN,这个不说了,地球人都知道。1 设计工具:IBM 的Rational Rose    非常好的UML工具,而且默认就是支持VC6.0的。我用的是7.0版本的。下载地址自己在网上找吧。另外,Eclipse也有UML设计的插件。没有用过,不知道如何。2 版本控制:Subversion和TortoiseSVN    Subversion是服务端,管理版本库。To

2010-02-01 10:40:00 1061 1

转载 在VC6.0中使用GDI+

GDI+在原来GDI的基础上进行了许多的升级和优化,比如线条平滑、颜色透明度、图形变换(平移、缩放、旋转),更多图片格式支持等技术都进行了很大的 改善,使用GDI+可以很方便的实现对各种图形的绘制和优化。GDI+属于.NET组合,不过VC6.0的朋友也可以很方面地使用它,在VC6.0和工程 中使用GDI+的流程如下:       1.安装GDI+组件。对于没用安装.NET开发平台的朋友,不能直接开

2010-02-01 10:38:00 783

转载 VC6.0使用GDI+的配置

GDI Plus 描述:    GDIPlus是微软出的一个C++面向对象库,它为windows的图形设备接口提供了更好的访问。与标准的windows GDI相比,二维绘图和图片使用得到很大改进。使用GDIPlus你可以绘制定制的对象,打开各种图片并以各种格式存储它们,使用多种字体和文本绘制轨迹 和各种调色板功能。GDI Plus兼容性:    GDIPlus最初是为MS Visual

2010-02-01 10:37:00 1272

如何使用vc打造局域网聊天室第10课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多 M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第9课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多 M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第8课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多 M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第7课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多 M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第6课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多 M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第5课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多 M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第4课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多 M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第3课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多 M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第2课

完整讲述如何使用vc打造局域网聊天室,共10课,每课都是一个视频(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

如何使用vc打造局域网聊天室第1课

完整讲述了如何使用vc打造局域网聊天室,一共10课,每课都是一个视频教程(动画教程,时长半个小时到一个小时,画面清晰,解压后大小100多M),节目如下: 第一课、编程环境及准备知识 第二课、聊天室界面的制作及初始化 第三课、动态启用 or 禁用窗口及MFC消息映射机制 第四课、实现动态伸缩窗口 第五课、Socket编程初步 第六课、异步I/O模型及多线程 第七课、客户端队列及其处理线程 第八课、客户端编程及数据发送 第九课、程序关闭及线程的结束 第十课、任务栏托盘功能的实现

2010-02-25

完成端口源码以及一些文档

里面有网络引擎的服务端和客户端的类,大宝版本IOCP,一些类源码和IOCP使用文档

2010-02-25

vc 漂亮界面源码

这是用vc开发的使用图片自绘一个对话框边框,非常适合研究如何自绘一个漂亮界面。

2010-02-25

vc中使用GDI+进行编程

以通俗易懂的语言结合作者实践经验,翔实地讲述了如何使用GDI+进行vc编程,值得一读!pdf格式,文字非常清晰

2010-02-25

Oracle10g的参考手册

包括10g New Features、Ora 10G DBA Reference、Ora 10G Err_Msg、Ora 10G SQL Reference四个部分,均是chm格式,使用方便,是学习应用oracle的好帮手

2009-11-13

oracle命令速查

里面涉及linux常用命令,oracle命令和语法,chm格式查询方便

2009-11-13

Oracle 10g R2 Concepts双语版

是学习oracle的系统教材,内容全面涉及oracle技术,讲解详细

2009-10-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除