<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shigaopb的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shigaopb</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shigaopb]]></copyright><item><title><![CDATA[关于CToolBar、CMFCToolBar和CReBar的一些废话]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/17250121</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/17250121</guid><author>shigaopb</author><pubDate>Tue, 10 Dec 2013 20:31:37 +0800</pubDate><description><![CDATA[http://blog.chinaunix.net/uid-28596231-id-3515974.html








先说说CToolBar是怎么使用的？

一个CToolBar需要有工具条对应的位图，位图的每一块图标应该有自己的ID，对应的处理方法。

这样的就会有两种方法，可以看做Wizard和非Wizard（笔者自己理解的）

 

主要由两种方法：]]></description><category></category></item><item><title><![CDATA[MFC下的线程(Windows环境下的多线程编程)]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081375</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081375</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:55:08 +0800</pubDate><description><![CDATA[Windows环境下的多线程编程
 





MFC下的线程：
对Windows而言，所有的线程都是类似的；而在MFC中，则将线程分未了用户界面线程（UI Threads）和工作者线程（Worker
 Threads）。界面线程与工作者线程的主要区别在于：用户界面线程的程序代码中有消息循环，可处理从系统收到的消息，而工作者线程则没有收发消息的功能。
2.3.1MFC线程类CW]]></description><category></category></item><item><title><![CDATA[vc++中进程间的通信]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081369</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081369</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:54:19 +0800</pubDate><description><![CDATA[vc++中进程间的通信

2006-11-23 10:44




　　一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方

　　另一个是地址空间，它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间，当进程中的一个线程正在运行时，该线程可以访问只属于它的进程的内存。]]></description><category></category></item><item><title><![CDATA[MFC的SDI程序的用户命令的处理顺序]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081365</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081365</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:53:29 +0800</pubDate><description><![CDATA[C++--MFC的SDI程序的用户命令的处理顺序

 

1.用户命令处理顺序图


2．OnCmdMsg的代码
BOOL CFrameWnd::OnCmdMsg(...)
{
       CView* pView = GetActiveView();
       if(pView != NULL && pView->OnCmdMsg(...))]]></description><category></category></item><item><title><![CDATA[COM组件技术操作技巧（Visual C++代码参考与技巧大全 ）]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081355</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081355</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:52:10 +0800</pubDate><description><![CDATA[第12章 COM组件技术操作技巧
COM是开发组件的一种方法，组件是一些小的二进制程序，它可以为操作系统或者应用程序提供服务。COM技术的发展进一步加强了程序的模块化编程的思想，使应用程序在更容易扩展与升级，具有更好的灵活性和动态性，COM支持了分部使应用程序的开发。
12.1  COM的概念和编程技巧
COM，即组件对象模型，是关于如何建立组件及如何通过组件建构应用程序的一个规范，是一种跨]]></description><category></category></item><item><title><![CDATA[线程的操作技巧（Visual C++代码参考与技巧大全 ）]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081349</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081349</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:51:37 +0800</pubDate><description><![CDATA[9.2  线程的操作技巧
Windows是一种多任务的操作系统，在Windows的一个进程内包含一个或多个线程。在32位Windows环境下的Win32 API提供了多线程应用程序开发所需要的接口函数，而利用VC++中提供的标准C库也可以开发多线程应用程序，相应的MFC类库封装了多线程编程的类，用户在开发时可根据应用程序的需要和特点选择相应的工具。为了使大家能全面地了解Windows多线程编程技]]></description><category></category></item><item><title><![CDATA[一个完整的共享內存类]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081333</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081333</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:50:16 +0800</pubDate><description><![CDATA[一个完整的共享內存类

/******************************************************************
 ++  File Name :   FFMClass.h
 ++  Description: 共享內存類
 ------------------------------------------------------------]]></description><category></category></item><item><title><![CDATA[Win32应用程序中进程间通信方法分析与比较]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081323</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081323</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:49:21 +0800</pubDate><description><![CDATA[Win32应用程序中进程间通信方法分析与比较 

 

 1 进程与进程通信

　　进程是装入内存并准备执行的程序，每个进程都有私有的虚拟地址空间，由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Application Programming Interface, API)提供了]]></description><category></category></item><item><title><![CDATA[STL,ATL,WTL的联系与区别]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081311</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081311</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:48:33 +0800</pubDate><description><![CDATA[STL   即   Standard   Template   Library   
    
  STL（标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander   Stepanov、Meng   Lee和David   R   Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中，但在被引入C++之前该技术就已经存在了很长的一段时间。]]></description><category></category></item><item><title><![CDATA[多线程编程：何时使用同步类]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/9081301</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/9081301</guid><author>shigaopb</author><pubDate>Wed, 12 Jun 2013 22:47:41 +0800</pubDate><description><![CDATA[多线程编程：何时使用同步类


MFC 提供的六种多线程类分为两类：同步对象（CSyncObject、CSemaphore、CMutex、CCriticalSection 和 CEvent）和同步访问对象（CMultiLock 和 CSingleLock）。
当必须控制对资源的访问以确保资源的完整性时，使用同步类。同步访问类用于获取对这些资源的访问权。此文章描述各个类的使用时间。
若要确]]></description><category></category></item><item><title><![CDATA[群发邮件技巧集锦]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6130399</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6130399</guid><author>shigaopb</author><pubDate>Wed, 12 Jan 2011 09:56:00 +0800</pubDate><description><![CDATA[<br />怎样填写群发邮件
主题及内容？<br />　　群发邮件时，一定要注意邮件主题和邮件内容，很多邮件服务
器为过滤垃圾邮件
设置了垃圾字词过滤，如果邮件主题和邮件内容中包含有如：大量、宣传、赚钱...等字词，服务
器将会过滤掉该邮件，致使邮件不能发送。因此在书写邮件主题和内容时应尽量避开你认为的有垃圾字词嫌疑的文字和词语，才能顺利群发邮件。另外标题尽量不要太商业化，内容也不宜过多(尽量小于7k)，如果一看就是推销邮件
，效果就不会太好(有可能直接del了)，而内容过多就会使阅读者不耐烦甚至]]></description><category></category></item><item><title><![CDATA[Socket send函数和recv函数详解]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6119656</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6119656</guid><author>shigaopb</author><pubDate>Thu, 06 Jan 2011 10:48:00 +0800</pubDate><description><![CDATA[<br />int send( SOCKET s,      const char FAR *buf,      int len,      int flags );  <br /><br />
不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。<br /><br />
客户程序一般用send函数向服务器发送请求，而服务器则通常用send函数来向客户程序发送应答。<br /><br />
该函数的第一个参数指定发送端套接字描述符；<br /><br />
第二个参数指明一个]]></description><category></category></item><item><title><![CDATA[对话框中WaitForSingleObject等待线程退出导致程序阻塞的原因及解决]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6116077</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6116077</guid><author>shigaopb</author><pubDate>Tue, 04 Jan 2011 17:49:00 +0800</pubDate><description><![CDATA[<br />今天在调试程序中发现了程序中出现的一个问题，具体如下： <br /> <br /><br />      在对话框中新建一个线程worker thread，当用户点击cancel时，通知该线程函数退出，同时用WaitForSingleObject等待该线程结束。但是每当用户点击Cancel后，程序会卡在OnCancel函数中的WaitForSingleObject处，必须要强制结束才能退出。 <br /> <br /><br />      在网上查了一下，大致原因如下： <br />     ]]></description><category></category></item><item><title><![CDATA[IOCP模型总结]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6114163</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6114163</guid><author>shigaopb</author><pubDate>Mon, 03 Jan 2011 20:34:00 +0800</pubDate><description><![CDATA[<br />IOCP模型总结<br />
IOCP（I/O Completion Port，I/O完成端口）是性能最好的一种I/O模型。它是应用程序使用<br /><br />
线程池处理异步I/O请求的一种机制。在处理多个并发的异步I/O请求时，以往的模型都是在<br /><br />
接收请求是创建一个线程来应答请求。这样就有很多的线程并行地运行在系统中。而这些线<br /><br />
程都是可运行的，Windows内核花费大量的时间在进行线程的上下文切换，并没有多少时间花<br /><br ]]></description><category></category></item><item><title><![CDATA[关联，聚合，组合的区别及C++实现]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6108333</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6108333</guid><author>shigaopb</author><pubDate>Thu, 30 Dec 2010 22:42:00 +0800</pubDate><description><![CDATA[<br />类间关系<br />在类图中，除了需要描述单独的类的名称、属性和操作外，我们还需要描述类之间的联系，因为没有类是单独存在的，它们通常需要和别的类协作，创造比单
独工作更大的语义。在UML类图中，关系用类框之间的连线来表示，连线上和连线端头处的不同修饰符表示不同的关系。类之间的关系有继承（泛化）、关联、聚
合和组合。<br />（1）继承：指的是一个类（称为子类）继承另外的一个类（称为基类）的功能，并增加它自己的新功能的能力，继承是类与类之间最常见的关系。类图中继
承的表示方法是从子类拉出一]]></description><category></category></item><item><title><![CDATA[Windows 控件的消息反射]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6108329</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6108329</guid><author>shigaopb</author><pubDate>Thu, 30 Dec 2010 22:39:00 +0800</pubDate><description><![CDATA[<br />本技术注意讲述了消息反射，一个 MFC4.0 中的新特色。同时讲述了使用消息反射建立一个简单可重用控件的指导。 <br />       本文并没有就 ActiveX 控件（以前称为 OLE 控件）如何进行消息反射的。有关这方面的资料请参见《ActiveX <br />       什么是消息反射? <br />       窗口不断地频繁地发送通知消息给其父窗口。 例如：许多控件会发送控件颜色通知消息(WM_CTLCOLOR 或它的一个变体)给其父窗口以允许其父窗口来提供一个绘制控件背景的刷子]]></description><category></category></item><item><title><![CDATA[SQLite 简单教程]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6108326</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6108326</guid><author>shigaopb</author><pubDate>Thu, 30 Dec 2010 22:38:00 +0800</pubDate><description><![CDATA[<br />入门<br />使用sqlite，需要在命令行（sqlite3 程序自行到官方网站
下载）输入"sqlite3" 后跟 SQLite 数据库文件名，如果文件不存在就会自动新建一个新的数据库。然后你可以直接输入SQL语句，再按下"Enter"键来执行。<br />例如，新建一个名为 "ex1"的 SQLite 数据库，再为它新建一个 "tb1" 的数据表，你可以这样做： $ sqlite3 ex1<br />
SQLite version 3.3.10<br />
Enter ".help"]]></description><category></category></item><item><title><![CDATA[全面解读WM_NOTIFY]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6108321</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6108321</guid><author>shigaopb</author><pubDate>Thu, 30 Dec 2010 22:37:00 +0800</pubDate><description><![CDATA[<br />   
 
全面解读WM_NOTIFY 摘要：控件通知消息有很多种，但是有一种是很常用，但是又不是很容易掌握的，那就是WM_NOTIFY，我试着对此做一下比较全面的论述，有不对的地方，还希望各路大虾批评指正。<br />    控件通知消息<br />
    在《深度解析VC中的消息（上）》中，我们提到了消息的分类有3种：窗口消息、命令消息和控件通知消息，我们这里要谈的是最后一种：控件通知消息。<br />
   
控件通知消息，是指这样一种消息，一个窗口内的子控件发生了一些事情，需]]></description><category></category></item><item><title><![CDATA[C++访问SQL Server 2000]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6108312</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6108312</guid><author>shigaopb</author><pubDate>Thu, 30 Dec 2010 22:35:00 +0800</pubDate><description><![CDATA[<br />一、ADO简介<br /><br />
　　ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口，是建立在OLE DB之上的高层数据库访问技术,不仅简单易用，并且不失灵活性.不失为C++利用数据库快速开发的不错选择。<br /><br />
　
　理论就不用我在这儿费话了,网上有很多,但光是理论,也不是不够的,ADO访问数据的方法很灵活,容易让人混淆.网上大部分的实例都是基于MFC的,数
据库也是ACCESS多,这儿我写了一个C++语言访问MS ]]></description><category></category></item><item><title><![CDATA[VC++下使用ADO编写数据库程序]]></title><link>https://blog.youkuaiyun.com/shigaopb/article/details/6108305</link><guid>https://blog.youkuaiyun.com/shigaopb/article/details/6108305</guid><author>shigaopb</author><pubDate>Thu, 30 Dec 2010 22:33:00 +0800</pubDate><description><![CDATA[<br />files/system/ado/msado15.dll" /<br /><br />
no_namespace /<br /><br />
rename ("EOF", "adoEOF")<br /><br />
(2)、初始化COM
<br />在MFC中可以用AfxOleInit();非MFC环境中用: <br /><br />
CoInitialize(NULL);<br /><br />
CoUnInitialize();<br />(3)#import 包含后就可以用3个]]></description><category></category></item></channel></rss>