自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无幻

潜心成魔.....

  • 博客(23)
  • 收藏
  • 关注

原创 TCP流式套接字的事件对象I/O管理WSAEventSelect编程

WSAEventSelect()函数和WSAAsyncSelect()函数类似,它们的区别在于当一个FD_XXX网络事件发生时,WSAEventSelect()函数将导致一个应用程序指定的事件对象将被设置,即将网络事件投递到一个事件对象句柄,而不是将网络事件(消息)投递至一个窗口句柄。WSAEventSelect()函数原型如下:int WSAEventSelect(    S

2010-05-28 10:58:00 3877 2

原创 TCP流式套接字的异步事件WSAAsyncSelect编程

WSAAsyncSelect( )是Winsock提供的一个适合于Windows编程使用的函数,它允许在一个套接口上当发生特定的网络事件时,给Windows网络应用程序(窗口或对话框)发送一个消息(事件通知)。WSAAsyncSelect函数原型如下:int WSAAsyncSelect(    SOCKET s,  //标识一个需要事件通知的套接口描述符    HWND 

2010-05-28 10:30:00 11275 7

原创 VC文档"最近使用的文档"列表LoadStdProfileSettings

在文档/视图中,打开菜单旁边的”最近使用列表“可以列出最近使用的文档名称,这对于加快程序的处理文档速度。在VC2008SP1中的效果如下:我们只要在应用程序类的InitInstance函数中调用LoadStdProfileSettings()即可,函数原型如下:void LoadStdProfileSettings(   UINT nMaxMRU

2010-05-25 18:53:00 3583

原创 获取CTabView的指针以及禁止CTabView拖动

The CTabView class simplifies the use of the tab control class (CMFCTabCtrl ) in applications that use MFCs document/view architecture. class CTabbedView : public CViewMem

2010-05-23 19:32:00 4912 2

原创 Visual C++ 2008 Feature Pack 示例截图

Visual C++ 2008 Feature Pack 示例截图 by 无幻 百度文库:http://wenku.baidu.com/view/f09e5575a417866fb84a8eb6.html豆丁文档:http://www.docin.com/p-55873972.htmlCSDN下载:http://download.csdn.net/source/2380293

2010-05-21 22:07:00 3457

原创 vc2008下的对应vc6.0的Components and controls

vc6.0和vc2008界面上有些不同的地方,比如“Components and controls”就换地方了..................在vc6.0的位置,菜单 Project -> Add to Project -> Components and controls…在vc2008的位置,右侧“工具箱”,右键点击“选择项”即可。

2010-05-21 16:17:00 5318 1

转载 MFC浅析(8) CArchive 原理

MFC 提供CArchive类实现数据的缓冲区读写,同时定义了类对象的存储与读取方案。 以下对CArchvie 的内部实现作分析。  1.概述 2.内部数据 3.基本数据读写 4.缓冲区的更新 5.指定长度数据段落的读写 6.字符串的读写 7.CObject派生对象的读写1.概述 CArchive使用了缓冲区,即一段内存空间作为临时数据存储地,对CArchive的读写都先依次排

2010-05-16 16:14:00 11174

转载 MFC浅析(7) CWnd类虚函数的调用时机、缺省实现

1. Create 2. PreCreateWindow 3. PreSubclassWindow 4. PreTranslateMessage 5. WindowProc 6. OnCommand 7. OnNotify 8. OnChildNotify 9. DefWindowProc 10. DestroyWindow 11. PostNcDestroy CWnd作为MFC中最基本的与窗口打

2010-05-16 16:08:00 2766

转载 MFC浅析(6) 对话框数据交换及验证

对话框的数据交换和验证机制(DDX、DDV)可以使对话框上控件与对象数据成员间协调工作。 包括控件窗口与控件对象间的连接,控件窗口与对话框数据成员间的连接,以及数据成员的合法性验证等等。 在 virtual void DoDataExchange(CDataExchange* pDX);中记录了这些关系: 例如:  DDX_Control(pDX, IDC_BUTTON1, m_b

2010-05-16 16:07:00 2157

转载 MFC浅析(5) 命令更新机制

MFC框架结构中,可以用ON_UPDATE_COMMAND_UI( id, memberFxn )宏指定菜单或工具条按钮等对应的状态设置函数在memberFxn中通过传入的CCmdUI对象指针就可以设置菜单项,工具钮的使用、禁用、标记等属性。所有在memberFxn中指定条件的变化,都将实时的反映到界面上去。其实现机理如下一 工具条按钮的更新由于工具条一直可见,故要实时更新,就得不断调用membe

2010-05-16 16:06:00 2348

转载 MFC浅析(4) CObject浅析

MFC CObject浅析 1.CObject简要声明 2.CRuntimeClass结构 3.RUNTIME_CLASS 4.DYNAMIC支持 5.DYNCREATE支持 6.SERIAL支持 CObject是大部分的MFC类的基类 为了完成MFC类的判断、动态生成、序列化等特殊功能,CObject中添加了特定的处理。 为了进一步增强对MFC类对象的理解,在

2010-05-16 16:01:00 2051

转载 MFC浅析(3) 文档视图结构中命令的处理流程

(以MDI文档视图结构为例)在应用程序的界面上,包含菜单、工具条等元素,当选取这些元素后,将发送一个命令给程序。同时,还有命令发送的其它形式,例如快捷键等等。在文档视图结构中,程序包括一个主框架窗口,而具体打开的文件则包括其数据对象(CDocument) 表现形式(CView),和窗口容器(CFrameWnd)等几个相关对象。命令发送后,将按照一定的流向传达给指定的对象,由对象内成员函数响

2010-05-16 15:58:00 1378

转载 MFC浅析(2) 文档视图结构中文档操作流程

基本架构 一个程序可以看作是建立在对文档进行处理的基础上的,而程序可处理的文档类型有可能有多种,同时每种文档又可能同时被打开多个。每个文档又可分为数据部分和表现部分。 基于这种认识,MFC文档视图框架结构将各功能模块总结为对象,用相互关联的这些对象类来建立应用程序. ①文档类型管理 CWinApp代表程序,它可处理多种类型的文档,这样,就必须有一个存储管理文档类型的内部成员,这个成

2010-05-16 15:49:00 1603

转载 MFC浅析(1) 文档视图结构中,缺省的命令处理

文档视图结构中,缺省的命令处理在文档视图结构所构建的框架中,很多命令ID都有缺省的命令处理。很多功能都由他们完成,但这些功能在程序中不“可见”,不便于对程序的理解。以下归纳了常见的缺省处理及其流程在需要时候,可以重载这些函数以实现特定功能1.ID_FILE_NEW2.ID_FILE_OPEN3.ID_FILE_SAVE4.ID

2010-05-16 13:47:00 2549 1

原创 多文档的文档选项快捷菜单(vc2008sp1)

Called by the framework before a shortcut menu is displayed on one of the tabs. Valid for MDI Tabbed Groups only.virtual BOOL OnShowMDITabContextMenu(   CPoint point,   DWORD dwAllowedItems,

2010-05-16 12:05:00 3132

转载 在MFC中用WriteProfileInt等方法保存应用程序配置

0.简介CWinApp类中提供了一组用于读写应用程序配置的方法:GetProfileIntWriteProfileIntGetProfileStringWriteProfileString可方便的用于读写应用程序配置。1.关于CWinApp::SetRegistryKey方法用VC++的向导建立MFC项目之后,在InitInstance中可以看到这样的语

2010-05-15 13:46:00 4326

原创 BCGControlBar MFC对话框换肤(续)

系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:实现MFC对话框完全换肤,其实是单文档模拟出来的对话框      在上篇说到利用BCGControlBar可以对对话框进行换肤,但是在Windows XP下程序的窗体还是XP系统的主题,这相当不协调,主要是框架没换肤。所以,在这里我用基于CFormView的单文档来进行模拟对话框。

2010-05-14 23:24:00 11660 12

原创 BCGControlBar MFC对话框换肤

系统环境:Windows 7软件环境:Visual Studio 2008 SP1本次目的:实现MFC对话框换肤      在较新版本的BCGControlBar之中增加了对对话框和文档中窗体的form进行换肤。更改了一些控件的显示样式,其中有类似office 2007、office 2010 等等之类的皮肤。下面开始进行换肤,在此先要做好准备,必须安装有BCGControlBar(可以看这里

2010-05-14 21:06:00 12291 16

原创 TCP流式套接字的select模式编程

选择(select)模型是Winsock中最常见的 I/O模型。核心便是利用 select 函数,实现对 I/O的管理!利用 select 函数来判断某Socket上是否有数据可读,或者能否向一个套接字写入数据,防止程序在Socket处于阻塞模式中时,在一次 I/O 调用(如send或recv、accept等)过程中,被迫进入“锁定”状态;同时防止在套接字处于非阻塞模式中时,产生WSAEWOULD

2010-05-14 12:34:00 3952

原创 TCP流式套接字的阻塞模式编程

在Windows环境下,套接口的通信方式分为两种:阻塞方式和非阻塞方式。阻塞方式下工作的套接口在进行I/O操作时,函数要等待到相关操作完成以后才能返回(或者可以使用WSACancelBlockingCall( )调用唤起一个阻塞操作)。 阻塞方式的套接口编程简单,易于实现。正因为如此,一个套接口的默认操作模式被设置为阻塞方式。以下为测试阻塞模式TCP流式套接字编程,一个服务器两个客户端服务

2010-05-13 20:02:00 6986 5

原创 TCP流式套接字的基本编程

面向连接的客户/服务器程序工作模型服务器端程序#include WINSOCK2.H>#pragma comment(lib,"ws2_32")#include stdio.h>int main(){    printf(" -------------------------/n| 服务器端 |

2010-05-13 08:44:00 7318 5

原创 MFC Shell文件操作SHFileOperation

外壳函数(Shell)--------SHFileOperation   Copies, moves, renames, or deletes a file system object.文件复制、移动、重命名或者删除int SHFileOperation(  __in  LPSHFILEOPSTRUCT lpFileOp);其参数lpFileOp是一个指向S

2010-05-04 13:16:00 4503

转载 CString常用方法

CString::Compare int Compare( LPCTSTR lpsz ) const;返回值  字符串一样 返回0        小于lpsz 返回 -1        大于lpsz 返回1        区分大小字

2010-05-03 13:57:00 13153

空空如也

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

TA关注的人

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