第一部分:OLE Drag&Drop 介绍
来源:互联网 发布:java 替换jar 编辑:程序博客网 时间:2024/05/19 22:05
1.基本概念
2.文件管理器拖放
a)UINT DragQueryFile(HDROP hDrop, UINT iFile, LPTSTR lpszFile, UINT cch) b)BOOL DragQueryPoint(HDROP hDrop, LPPOINT lppt) c)void DragFinish(HDROP hDrop)
void CListCtrlEx::OnDropFiles(HDROP hDrop) { char szFilePathName[_MAX_PATH+1] = {0}; UINT nNumOfFiles = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0); //得到文件个数 for (UINT nIndex=0 ; nIndex< nFileCount; ++nIndex) { DragQueryFile(hDrop, nIndex, szFilePathName, _MAX_PATH); //得到文件名 } DragFinish(hDrop); }
3.OLE拖放原理
上面的图描述了拖放操作中所需要的关键组件。左边的表示拖放操作的源,它已经包含了两个对象,一个是IDropSource,另一个是IDataObject,最终是通过API函数DoDragDrop来发现拖放操作。
4.开始拖放
WINOLEAPI DoDragDrop( IDataObject * pDataObject, // Pointer to the data object IDropSource * pDropSource, // Pointer to the source DWORD dwOKEffect, // Effects allowed by the source DWORD * pdwEffect // Pointer to effects on the source );
5.注册目标
WINOLEAPI RegisterDragDrop( HWND hwnd, // Handle to a window that can accept drops IDropTarget * pDropTarget // Pointer to object that is to be target of drop );
WINOLEAPI RevokeDragDrop( HWND hwnd // Handle to a window that can accept drops );
- 第一部分:OLE Drag&Drop 介绍
- 第一部分:介绍(OLE Drag和Drop随笔)
- 第一部分:介绍(OLE Drag和Drop随笔)
- 第一部分:介绍(OLE Drag和Drop随笔)
- OLE Drag&Drop 介绍
- OLE Drag&Drop 介绍
- 第二部分:OLE数据传输(OLE Drag和Drop随笔)
- 第二部分:OLE数据传输(OLE Drag和Drop随笔)
- 第二部分:OLE数据传输(OLE Drag和Drop随笔)
- 第五部分:Drop源(OLE drag&drop之旅)
- 第五部分:Drop源(OLE drag&drop之旅)
- Ole Drag & Drop
- 第三部分:实现IDataObject(OLE drag&drop之旅)
- 第四部分:枚举FORMATETC(OLE drag&drop之旅)
- 第三部分:实现IDataObject(OLE drag&drop之旅)
- 第四部分:枚举FORMATETC(OLE drag&drop之旅)
- OLE拖放-drag-drop-1
- OLE拖放-drag-drop-2
- ibatis模糊查询和动态组合查询配置
- standardtool
- Android sensor开关问题
- Cocoa Tips
- 集合转换成数组的两种方法---toArray()和toArray(T[] a)
- 第一部分:OLE Drag&Drop 介绍
- 注销返回到登录界面后点击浏览器回退时不能再次进入原页面的方法
- TCO 2013 Round 1A
- 如何Linux下得到CPU、内存及PCI信息
- 语音编码分类及编解码标准
- High-DefinitionVideo Processing Subsystem (HDVPSS)
- Oracle deallocate unused子句
- Chrome Developer Tools 二次学习
- 日期和时间小结