即时方式测试拖动文件Drag

 COleDataSource m_oleDataSource;
 
 UINT uBufferSize =0;//测试只用一个文件
 {
  uBufferSize += lstrlen ( _T("d://1111111.rar") ) + 1;//测试一个文件 
 } 
 uBufferSize= sizeof(DROPFILES) + sizeof(TCHAR) * (uBufferSize + 1);
 HGLOBAL hMemData = GlobalAlloc(GPTR,uBufferSize);
 ASSERT(hMemData != NULL);
 LPDROPFILES lpDropFiles = (LPDROPFILES)GlobalLock(hMemData); //锁定之,并设置相关成员
 ASSERT(lpDropFiles != NULL);
 lpDropFiles->pFiles = sizeof(DROPFILES);
#ifdef _UNICODE
 lpDropFiles->fWide = TRUE;
#else
 lpDropFiles->fWide = FALSE;
#endif

 TCHAR *pszStart = (TCHAR*)((LPBYTE)lpDropFiles + sizeof(DROPFILES));
 {
 lstrcpy(pszStart, _T("d://1111111.rar"));
 pszStart= 1 + _tcschr ( pszStart, '/0' );//下次的起始位置是上一次结尾+1
 }

 m_oleDataSource.Empty();
 m_oleDataSource.CacheGlobalData(CF_HDROP, hMemData);//即时方式,适合少量数据
 CRect m_Rect;
 GetClientRect(&m_Rect);
 ClientToScreen(&m_Rect);//在此范围内拖动无效
 DROPEFFECT DropResult = m_oleDataSource.DoDragDrop(DROPEFFECT_MOVE | DROPEFFECT_COPY,&m_Rect);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值