我现在要实现一个拖拽操作,但是开始拖拽的时候DoDragDrop总是返回失败,请教大侠们到底是什么原因
代码如下:
HGLOBAL hData = GlobalAlloc(GHND|GMEM_SHARE, sizeof(CRealImageDlg));
if(hData != NULL)
{
memcpy(GlobalLock(hData), this, sizeof(CRealImageDlg));
GlobalUnlock(hData);
COleDataSource source;
source.CacheGlobalData( CF_TEXT, hData );
DROPEFFECT drop = source.DoDragDrop( DROPEFFECT_COPY);
}
代码如下:
HGLOBAL hData = GlobalAlloc(GHND|GMEM_SHARE, sizeof(CRealImageDlg));
if(hData != NULL)
{
memcpy(GlobalLock(hData), this, sizeof(CRealImageDlg));
GlobalUnlock(hData);
COleDataSource source;
source.CacheGlobalData( CF_TEXT, hData );
DROPEFFECT drop = source.DoDragDrop( DROPEFFECT_COPY);
}
如果这个方法不行你可以考虑用别的方法实现拖拽
你可以去看看微软自己写的drawcli,封装了几个类,调用起来也很简单
现在工控软件开发很多都是以这个为模板开发的图形组态。
sizeof(int) int也是一种数据类。