Операции вырезки и копирования


Чтобы поместить информацию в буфер обмена, окно сначала очищает его от любого предыдущего содержания  при помощи использования функции EmptyClipboard. Эта функция отправляет сообщение WM_DESTROYCLIPBOARD  предыдущему владельцу буфера, освобождает ресурсы, связанные с данными в буфере обмена и назначает монопольное использование его окну, которое имеет открытый буфер обмена. Чтобы узнать, какое окно владеет буфером обмена, вызывается функция GetClipboardOwner.

После освобождения буфера  обмена, окно помещает  данные в  этот буфер в стольких форматах, сколько  это возможно, которые располагаются от самого богатого   до самого бедного описателями формата буфера обмена. Для каждого формата, окно вызывает функцию SetClipboardData, устанавливая идентификатор формата и глобальный дескриптор памяти. Дескриптор выделенного блока памяти может иметь значение ПУСТО (NULL), обозначая, что окно формирует  данные  по запросу. За подробной информацией, обратитесь к статье Отложенное предоставление данных.

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz