|
<< Нажмите, чтобы показать Содержание >> TCustomRichViewEdit.AcceptDragDropFormats, AcceptPasteFormats |
AcceptDragDropFormats перечисляет форматы, которые могут быть приняты при перетаскивании данных в TRichViewEdit.
AcceptPasteFormats перечисляет форматы, которые могут быть приняты при вставке из буфера обмена в TRichViewEdit.
property AcceptDragDropFormats: TRVDragDropFormats;
property AcceptPasteFormats: TRVDragDropFormats;
type
TRVDragDropFormat = (
rvddRVF, rvddRTF, rvddText, rvddUnicodeText,
rvddBitmap, rvddMetafile, rvddURL, rvddFiles, rvddHTML);
TRVDragDropFormats = set of TRVDragDropFormat;
Значение |
Формат |
Описание |
|---|---|---|
rvddRVF |
'RichView Format' |
|
rvddRTF |
'Rich Text Format' |
RTF |
rvddText |
CF_TEXT |
Простой текст в кодировке ANSI |
rvddUnicodeText |
CF_UNICODETEXT |
Простой юникодный текст |
rvddBitmap |
Перетаскивание: CF_DIB или CF_BITMAP Буфер обмена в Windows: CF_DIB или CF_BITMAP или MIME-тип или 'PNG' Буфер обмена в других ОС: формат изображения, принятый в данной ОС |
Изображение |
rvddMetafile |
CF_ENHMETAFILE |
Метафайл |
rvddURL |
'UniformResourceLocator' или 'UniformResourceLocatorW' |
URL. Если возможно, заголовок URL читается из формата CFSTR_FILEDESCRIPTOR (иначе заголовок равен цели ссылки). Событие OnReadHyperlink вызывается в DocFormat=rvlfURL. Если обработчик события не назначен, URL вставляется как простой текст. |
rvddFiles |
CF_HDROP |
По умолчанию, RichViewEdit вставляет: ▪графические файлы, ▪*.DocX (только при перетаскивании), ▪*.RTF (только при перетаскивании), ▪*.RVF (только при перетаскивании), ▪*.TXT (только при перетаскивании). Вы можете изменить стандартную обработку в событии OnDropFiles (только для перетаскивания). |
rvddHTML |
'HTML Format' |
HTML |
Пример (обработка OnReadHyperlink с поддержкой rvddURL)
// OnReadHyperlink
procedure TMyForm.MyRichViewEditReadHyperlink(Sender: TCustomRichView;
const Target, Extras: TRVUnicodeString; DocFormat: TRVLoadFormat;
var StyleNo: Integer; var ItemTag: TRVTag;
var ItemName: TRVUnicodeString);
begin
if DocFormat=rvlfURL then
StyleNo := GetHyperlinkStyleNo(Sender);
ItemTag := Target;
end;
// Эта функция возвращает номер текстового стиля, имеющего
// все свойства как у текущего стиля, но синий цвет и подчёркивание.
// Если такого стиля нет, он добавляется.
function TMyForm.GetHyperlinkStyleNo(rve: TCustomRichViewEdit): Integer;
var TextStyle: TFontInfo;
begin
Result := rve.CurTextStyleNo;
TextStyle := TFontInfo.Create(nil);
try
TextStyle.Assign(rve.Style.TextStyles[Result]);
TextStyle.Jump := True;
TextStyle.Color := clBlue;
TextStyle.Style := TextStyle.Style+[fsUnderline];
Result := rve.Style.FindTextStyle(TextStyle);
finally
TextStyle.Free;
end;
end;
Значения по умолчанию:
▪AcceptDragDropFormats: [rvddRVF, rvddRTF, rvddText, rvddUnicodeText, rvddBitmap, rvddMetafile, rvddFiles]
▪AcceptPasteFormats: [rvddRVF, rvddRTF, rvddText, rvddUnicodeText, rvddBitmap, rvddMetafile, rvddFiles, rvddHTML]
См. также:
▪Paste;
▪CanPaste;