自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 OLE文件拖放

<br />继续MFC OLE文件拖放2009-03-20 10:31最近在关于这方面的功能模块,所以在网上搜索了一些资料来填充一下自己吧。<br />使用IDropTarget接口同时支持文本和文件拖放<br />关于Windows的外壳扩展编程,拖放是比较简单的一种,在网上可以找到不少介绍这个技巧的文章。大部分是介绍使用MFC的COleDropTarget实现的,<br />我觉得一般使用COleDropTarget已经很好了,但是我习惯在一些程序模块中,完全的不使用MFC,比如纯SDK编程,还有用在A

2011-02-24 15:54:00 8090

原创 CListCtrlEx:一个支持文件拖放和实时监视的列表控件——用未公开API函数实现Shell实时监视

一、需求无论何时,当你在Explorer窗口中创建、删除或重命名一个文件夹/文件,或者插入拔除移动存储器时,Windows总是能非常快速地更新它所有的视图。有时候我们的程序中也需要这样的功能,以便当用户在Shell中作出创建、删除、重命名或其他动作时,我们的应用程序也能快速地随之更新。二、原理Windows内部有两个未公开的函数(注:在最新的MSDN中,已经公开了这两个函数),分别叫做SHChangeNotifyRegister和SHChangeNotifyDeregister,可以实现以上的功能。这两个函

2011-02-23 15:08:00 1130

原创 Windows中Drag&Drop初探(三)

<br />至此,我们成功地为CListCtrlEx添加了文件拖入操作的支持。一个完整的拖放操作,还包括拖出动作,所以必须要为该类再添加拖出操作,即,将列表中的某一项或者多项拖出成为一个文件。这就需要用到另一个类:COleDataSource。具体步骤如下: <br />在CListCtrlEx中加入一个COleDataSource的实例,并映射列表框的LVN_BEGINDRAG消息处理函数,在此我们添加拖出操作的代码。 <br />实现拖出非常简单,只需要依次调用COleDataSource的三个函数即可

2011-02-23 15:07:00 1041

原创 Windows中Drag&Drop初探(二)

<br />五、OLE拖放实现 <br />MFC本身的CView类是支持拖放操作的,通过研究CView类的源码,大体知道它的实现原理是这样的:CView类中有一个COleDropTarget类的对象,在视图窗口初始化时,调用COleDropTarget类成员函数Register(),以此在系统中注册该视图窗口为拖放接收窗口。当进行拖放操作的鼠标指针处于视图窗口范围内时,COleDropTarge类会做出反应,它的OnDragEnter、OnDragOver、OnDropEx、OnDrop等成员函数被依次调

2011-02-23 15:05:00 1006 1

原创 Windows中Drag&Drop初探(一)

一、基本概念     拖放,是指用鼠标拖动的方法,在不同程序的窗口之间、同一个程序的不同窗口之间或同一程序同一窗口的不同控件之间,进行移动、复制和粘贴等操作的技术。拖放操作是在操作系统的帮助下完成的。被拖动的对象首先向操作系统注册它使用的数据格式,并按指定的数据格式提供数据,拖放操作结束时,接收拖放的窗口按指定的数据格式提取有关数据,并根据提取的数据生成相应的对象。  二、两种拖放方式     拖放有两种类型:OLE拖放和文件管理器拖放。这两种方式是完全不同的机制。文件管理器拖放只能处理文件名,通过映射目的

2011-02-23 15:04:00 849

原创 从零实现3D图像引擎:(9)四元数函数库

<br />1. 数学分析<br />1) 四元数是什么东西?<br />这个东西算盘、矩阵、复数是一类东西,即数学工具,数学家们创造了这个东西来解决一些数学问题。其实四元数是一种超复数,他不是只有一个虚数的复数,而是有三个虚数的复数。我们先回顾一下复数吧。<br />2) 虚数的来源<br />实数集中没有-1的平方根,因为没有哪个实数的平方等于-1,所以数学家们就创造它——虚数i,并且定义了i * i = -1。<br />所以我们可以计算sqrt(-4)了,sqrt(-4) = 2*i<br />3)

2011-02-18 10:29:00 890

原创 从零实现3D图像引擎:(10)Hello3DWorld

<br />1. 数学分析<br />前面我们已经把预先想到的可能会用到的数学工具都封装好了,从这篇开始,应该很少出现一大篇都是数学推导的了,终于看见光明了,这次我们将开始第一个3D程序的编写,所以题目就叫Hello3DWorld吧。<br />0) 3D程序的本质<br />很多书都会先介绍“3D流水线”的词,但其实明白3D程序的人一下子就知道这是什么,而不了解的人看了这个词也没有意义。其实我也觉得没什么特殊意义,因为所有计算机程序都是一个一个流程执行下来的,不全都是某某流水线么。简单来说,3D流水线就是

2011-02-18 10:28:00 886

原创 Unicode化1

<br />Unicode化 <br /> <br />作者:斑鸠<br />更新时间:2009/08/21<br />为了程序编写方便,根除乱码问题等等需求,很多新项目都采用了Unicode编码。<br />同时,不少使用MBCS多字节编码的旧项目为了升级,也有了转向Unicode编码的意向。<br />不过,从MBCS升级到Unicode并不是无缝的,该问题的复杂程度,取决于代码总量和<br />代码的编写质量。<br /><br />本文是作者在一个C/C++项目中的一些经验之谈,希望对有此需求的读

2011-02-17 13:49:00 2539 1

原创 unicode和MBCS

<br />1: 首先更改项目属性为多字节字符集.<br />2: 对于所有 L"字符串", 去掉L, 或改为=> _T("字符串")   <br />    ps1: _T是个自动替换的宏, 可以根据编译条件的不同, 替换成不同的东西. <br />    ps2:若想使用_T,要先包含<tchar.h>文件<br />3: 替换所有的 WCHAR 为 TCHAR<br />4: 替换所有的Unicode函数为非Unicode函数 eg _wsplitpath_s => _splitpath_s<br /

2011-02-17 13:48:00 3107

MFC小源码,有助于你的学习,会懂很多知识的!

MFC小源码,有助于你的学习,会懂很多知识的!

2010-11-04

数据结构 内部排序练习题

第9章内部排序练习题.doc 为了让朋友们把内部排序的知识检验是否巩固,让自己可以调整自己的学习,主要是把基础打扎实。

2010-09-10

空空如也

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

TA关注的人

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