1999/10/06 - コピーアンドペーストの使い方

クリップボードからのコピー。他のアプリからのペーストができなくて困ったが,FORMATETC を作って GetData に渡すことで解決。

STGMEDIUM stg;
FORMATETC fmt =
{
CF_TEXT,
NULL, 
DVASPECT_CONTENT,
-1,
TYMED_HGLOBAL,
};

if(!pDataObject->IsDataAvailable(CF_TEXT))
{
return false;
}

pDataObject->GetData(CF_TEXT, &stg, &fmt);
HGLOBAL hData = stg.hGlobal;
char *pText = (char *)::GlobalLock(hData);
…
::GlobalUnlock(hData);

VC,コンパイル中にプロジェクトのフォルダを新規作成すると落ちるのを発見。

コメントする