Немного о расширенной работе с буфером обмена

Буфер обмена хранит информацию, которую мы можем перемещать между разными приложениями, в самых различных форматах; к тому же, сами приложения могут работать с разными форматами. Однако при чтении данных из БО в Delphi-приложении через объект TClipboard, мы можем использовать только стандартные форматы: текст, графика и мета-файлы.

Допустим, у нас есть 2 запущенных Delphi-приложения… Что Вы скажете насчёт того, чтобы определить собственный формат БО для пересылки данных между этими двумя приложениями? Допустим, мы создали в меню команду “Вставить” и хотим, чтобы этот пункт был недоступен, когда, к примеру, в буфере обмена нет текстовых данных… С тех пор, как с БО начала работать какая-либо другая программа, мы не можем отследить момента, когда в буфере произойдёт какое-либо изменение… У класса TClipboard не предусмотрено таких событий, которые оповещали бы нас об этом… Всё, что нам нужно сделать - это поставить “хуки” в систему событий буфера обмена и тогда наше приложение будет автоматически узнавать обо всех изменениях его содержимого.

Если нам нужна более гибкая система работы с буфером обмена, уведомления об изменениях в содержимом буфера и специальные форматы данных, мы можем всё это реализовать. Но об этом в следующей статье…

Август 5, 2008 — Рубрика: Delphi
Метки: , ,
Реклама: Отличается фирменным стилем контрольная на заказ выполненная специалистами Homework.