我正在尝试从网页到C ++应用程序实现拖放功能。
我正在设置拖动到dataTransfer对象的文本,现在尝试从IDataObject在DropTarget上访问它。要从IDataObject获取数据,我们需要指定FORMATETC,我猜我遇到了问题。
这是代码: 在HTML方面,我在Drag下执行了javascript。
function drag(ev) {
ev.dataTransfer.setData("text", ev.target.id);
}
在C ++方面: 我有DropTarget,实现IDropTarget和内部:: Drop方法我收到IDataObject。
要从中获取数据,我使用下面的代码:
FORMATETC fre;
fre.cfFormat = CF_TEXT;
fre.dwAspect = DVASPECT_CONTENT;
fre.ptd = nullptr;
fre.tymed = TYMED_HGLOBAL;
fre.lindex = -1;
STGMEDIUM stg;
stg.hGlobal = nullptr;
stg.pUnkForRelease = nullptr;
bool result = false;
if (NOERROR == pDataObj->GetData(&fre, &stg))
{
result = true;
}
但我无法在这里检索数据。有人可以帮帮我吗?
谢谢, 凯拉斯