Чтение DDB
Для чтения данных из Clipboard в формате CF_BITMAP (который соответствует битовому изображению DDB) ваше приложение должно выполнить следующие действия:
Открыть Clipboard функцией OpenClipboard
Вызвать функцию GetClipboardData, передав ей через единственный параметр константу CF_BITMAP, и проверить возвращенное значение. Если функция вернула NULL, Clipboard не содержит данных в формате CF_BITMAP. Ненулевое значение является идентификатором битового изображения DDB, который можно использовать для рисования
Закрыть Clipboard функцией CloseClipboard
Приведем фрагмент кода, читающий данные из Clipboard в формате CF_BITMAP:
OpenClipboard(hwnd); hBitmap = (HBITMAP)GetClipboardData(CF_BITMAP); if(hBitmap != NULL) DrawBitmap(hdc, 0, 0, hBitmap); CloseClipboard();
Для рисования DDB используется функция DrawBitmap, описанная нами ранее в 14 томе "Библиотеки системного программиста". Исходный текст этой функции вы сможете также найти в проекте приложения CLIPSHOW, которое будет описано ниже.