windows 拖拽功能

拖拽功能的实现是一个全局的功能实现,也就是可以跨进程的,类似windows文件拖拽打开的功能。

    大体的实现可以分为两个主要的部分:

         1. 被拖拽对象中添加COleDataSource,以处理被拖拽对象

         2. 在拖拽目标中添加COleDropTarget, 以处理拖拽目标接受拖拽的相关事件

在COleDataSource类需要使用到的函数

  1. CacheGlobalData(CF_TEXT, (HGLOBAL)htmpMem); 

  2. DoDragDrop(); // 开始数据拖拽,函数会在拖拽结束后返回

 

在COleDropTarget

需要重写这些虚函数OnDragEnter(), OnDragOver(), OnDragLeave(), 和OnDrop()。

同时创建CView时,一定要调用COleDropTarget对象的Register()方法,注册该窗口,使窗口可以接受拖拽

 

你可能感兴趣的:(windows)