Запись DDB
Запись DDB в Clipboard выполняется достаточно просто.
Пусть мы создали DDB (например, при помощи функции CreateCompatibleBitmap) и сохранили идентификатор созданного DDB в переменной hBitmap. В этом случае нам необходимо выполнить следующую последовательность действий.
Открыть Clipboard функцией OpenClipboard
Сбросить содержимое Clipboard функцией EmptyClipboard
Вызвать функцию SetClipboardData, передав ей через первый параметр константу CF_BITMAP, а через второй - идентификатор DDB
Закрыть Clipboard функцией CloseClipboard
Все перечисленные выше действия можно проделать, например, так:
OpenClipboard(hwnd); EmptyClipboard(); if(hBitmap) SetClipboardData(CF_BITMAP, hBitmap); CloseClipboard();
Отметим, что ваше приложение не должно удалять DDB, идентификатор которого был использован при вызове функции SetClipboardData. После записи в Clipboard память, занимаемая DDB, переходит в распоряжение Windows, и ваше приложение не должно ее использовать.