stikriz11 » 12.05.2024 16:06:34
Есть такой модуль Clipbrd.
Надо зарегистрировать свой формат или проверить и зарегистрировать какой нужно.
И там объявлен класс TClipboard и метод RegisterClipboardFormat.
Это все что нужно, а... Еще функция Clipboard, потому, что для каждой оси объявлена по разному, видимо. В Дельфи это было переменной потому что только для винды. В общем, разобраться не сложно.
Вот так я это очень давно делал в Дельфи:
var CF_COMPONENTS: Word;
...
initialization
CF_COMPONENTS := RegisterClipboardFormat('Delphi Components');
function TUnClipboard.CanPaste: boolean;
begin
try
Result:=Clipboard.HasFormat(CF_COMPONENTS) or
(Clipboard.HasFormat(CF_TEXT) and PossibleStream(Clipboard.AsText));
except
Result := False;
end;
end;
и т.д. и т.п. Сейчас посмотрел клирбоард Лазаруса - так там все написано лучше Делфей в мою бытность - только дергай готовые функции. Примеры можно взять из текстовых редакторов для текста. Бинарный примерно так же, только клипбоард надо получить согласно зарегистрированному формату вашему.
Напрмер:
function TClipboard.SetFormat(FormatID: TClipboardFormat; Stream: TStream): Boolean;
Добавлено спустя 3 минуты 29 секунд:
function TClipboard.GetFormat(FormatID: TClipboardFormat; Stream: TStream): Boolean;