很精彩的博文
OLE Drag&Drop
,详细描述了ole拖放的相关知识。

枚举IDataObject支持的数据格式:


IEnumFORMATETC
*
pEnum;

if
(SUCCEEDED(pDataObj
->
EnumFormatEtc(DATADIR_GET,
&
pEnum)))



{

ULONG celt

=
1
, celtFetched;

FORMATETC fmt;

while
(SUCCEEDED(pEnum
->
Next(celt,
&
fmt,
&
celtFetched)))



{

if
(celt
!=
celtFetched)



{

break
;

}



TCHAR szFormatName[

100
];

if
(GetClipboardFormatName(fmt.cfFormat, szFormatName,
100
-
1
))

TRACE1(

"
CLIPFORMAT:\t%s\n
"
, szFormatName);

else


TRACE1(

"
CLIPFORMAT:\t%d\n
"
, fmt.cfFormat);

}



}


注册数据格式:


CF_FILEDESCRIPTOR
=
RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR);

获得的值为49343。

标签: none

添加新评论