20.4. CLIPBOARD

В Windows широко используется буфер межпрограммного обмена данными Clipboard. Если программа Delphi сослалась на модуль Сlipbrd, для нее становится доступным автоматически созданный объект clipboard, инкапсулирующий методы и свойства для работы с буфером.

Свойства объекта clipboard:

property AsTex-t: Strings; | Рассматривает содержимое буфера как текстовую строку длиной до 255 символов. Для обмена с буфером более длинными строками следует использовать его методы SetTextBuf и GetTextBuf
property FormatCount: Integers; | Возвращает общее количество форматов хранящихся в буфере данных
property Formats[Index: Integer]: Word; | Открывает доступ к данным по формату, указанному индексом Index
Методы объекта clipboard:
procedure Assign(Source: TPersistent) ; | Копирут в буфер изображение
procedure Clear; procedure Closes; | Очищает буфер Уменьшает на 1 счетчик блокировок буфера и закрывает его, если счетчик содержит 0
function GetTextBuf(Buffer: PChar; BufSize: Integer): Integers; | Копирует из clipboard не более BufSize символов в текстовый буфер Buffer и возвращает действительное количество скопированных символов
procedure HasFormat(Format: Word): Boolean; procedure Open; | Возвращает True, если буфер содержит данные в формате Format Увеличивает на 1 счетчик блокировок буфера и открывает его, если он еще не был открыт
procedure SetTextBuf(Buffer: PChar); | Помещает в clipboard содержимое текстового буфера Buffer

Чтобы поместить в буфер изображение, хранящееся, например, в объекте BitMap класса TBitMap, следует обратиться к методу Assign буфера:

Clipboard.Assign(BitMap);

а для копирования изображения из буфера - к методу Assign объекта-приемника: BitMap.Assign(Clipboard);