Операционная система Microsoft Windows 3.1 для программиста. Дополнительные главы


Обмен данными через Clipboard - часть 3


Во-вторых, приложение может использовать свой собственный, уникальный формат данных, зарегистрировав его в Windows при помощи специальной функции. Например, текстовый редактор Microsoft Write, который входит в дистрибутив Windows, хранит в Clipboard текст вместе с атрибутами форматирования, используя для этого свой собственный формат данных.

Сразу возникает вопрос: а сможет ли приложение Clipboard или ClipBook из Windows for Workgroups (либо другое приложение, предназначенное для просмотра содержимого Clipboard) отображать данные, которые находятся в нестандартном формате?

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

Рис. 2.3. Содержимое Clipboard нарисовано приложением Microsoft Write

Словом, если ваше приложение использует для Clipboard нестандартный формат данных, будьте готовы изобразить эти данные после прихода соответствующего сообщения от приложения, предназначенного для просмотра Clipboard.

Прежде чем приступить к подробному описанию методов работы с Clipboard, расскажем еще об одной интересной возможности - отложенной записи данных в Clipboard.

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

Как вы думаете, где хранятся данные, записанные в Clipboard?

Очевидно, в памяти. Но в какой? Эта память должна быть доступна для всех приложений. Кроме того, содержимое памяти не должно исчезать при завершении работы отдельных приложений.

Например, вы можете запустить Paintbrush, скопировать из него фрагмент изображения в Clipboard, затем завершить работу приложения Paintbrush и запустить Word for Windows.


Начало  Назад  Вперед



Книжный магазин