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);