Посмотрим, что у нас в clipboard.Автор: Michael Dunn
Программка ClipSpy работает через MFC класс BOOL CLeftView::ReadDataAndFillList ( COleDataObject* pDO )
{
FORMATETC etc;
UINT uNumFormats = 0;
// определяем, сколько форматов данных доступно в clipboard.
pDO->BeginEnumFormats();
while ( pDO->GetNextFormat ( &etc ))
{
if ( pDO->IsDataAvailable ( etc.cfFormat ))
{
uNumFormats++;
}
}
ClipSpy проверяет, является ли каждый формат
данных встроенным. Если нет, то вызывается
функция TCHAR szFormat [256];
GetClipboardFormatName ( etc.cfFormat, szFormat, 256 );
Затем ClipSpy считывает данные из формата: HGLOBAL hgData;
UINT uDataSize;
CClipSpyDoc* pDoc = GetDocument();
// Получаем HGLOBAL данных.
hgData = pDO->GetGlobalData ( etc.cfFormat );
if ( NULL != hgData )
{
uDataSize = GlobalSize ( hgData );
pDoc->AddDataBlock ( hgData, uDataSize );
}
else
{
pDoc->AddEmptyBlock();
}
Функции Следующий интересный момент, это
|