Шаг 60.
Библиотека OWL.
Введение в буфер обмена

    На этом шаге мы рассмотрим общие принципы работы с буфером обмена.

    В Windows предусмотрено несколько способов совместного использования данных разными приложениями, причем каждое из них имеет различный уровень сложности. Способы совместного использования данных включают следующее:

    DDE и OLE требуют, чтобы приложения обрабатывали не только сообщения Windows, но также и сообщения, приходящие от других приложений. Передача сообщений и ответы на них могут стать довольно сложными. Библиотеки динамической компоновки, с которыми вы познакомитесь в следующих шагах, также могут представлять серьезное затруднение при составлении программ.

    С другой стороны, буфер обмена обеспечивает простой механизм передачи данных между приложениями. Несмотря на ограничения в некоторых отношениях, буфер обмена все же обеспечивает значительную гибкость, допуская быстрый обмен между программами не только текстами, но даже растровыми изображениями, метафайлами, данными электронных таблиц, TIF-файлами, палитрами цветов и данными в форматах, задаваемых пользователем (или частных).


    Замечание. Все, что помещено в буфер обмена Clipboard, мгновенно становится доступным любому приложению, которое поддерживает Clipboard. Фактически, буфер обмена поддерживается любой программой Windows, которая обеспечивает стандартные операции редактирования, например, такие как cut ("вырезать") и paste ("вставить из буфера").

    В следующих шагах вы познакомитесь с тем, как использовать ObjectWindows для копирования данных в буфер обмена Clipboard, a также как извлекать данные, которые туда поместили другие приложения.

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

    Крупное различие между буфером обмена Clipboard и другими буферами состоит в том, что он не исчезает после завершения выполнения программы. Более того, сама Windows, а не приложение, определяет с помощью набора заранее заданных правил, как надо обращаться с буфером. Эти правила представлены группой функций и сообщений. Обычно, чтобы получить доступ к буферу обмена, программа должна вызвать функции Windows API. Однако те, кто программирует на Borland C++, для решения такой задачи могут обратиться к OWL-классу TClipboard.


    Замечание. Так как буфер обмена Clipboard является ресурсом, который совместно используется всеми программами Windows, они должны иметь разрешение на его использование. Когда программа работает с буфером обмена Clipboard, она должна препятствовать доступу в него других приложений. Это не отличается от того, как программа получает и освобождает контексты устройств, которые также являются совместно используемыми ресурсами (хотя, в отличие от буфера обмена Clipboard, вы можете иметь несколько контекстов устройств). Использование этого буфера в какой-либо программе требует соблюдения этих правил.

    На следующем шаге мы рассмотрим форматы данных буфера обмена.




Предыдущий шаг Содержание Следующий шаг