Введение в буфер обмена

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

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

  • буфер обмена Windows Clipboard;
  • библиотеки динамической компоновки (DDL);
  • динамический обмен данными (DDE);
  • связь и встраивание объектов (OLE).

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

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

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

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

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

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

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

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



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий