|
<< Нажмите, чтобы показать Содержание >> TRVStyle.OnDrawStyleText |
Позволяет нестандартное рисование текстового элемента, имеющего стиль текста с номером StyleNo.
property OnDrawStyleText: TRVDrawStyleTextEvent
VCL и LCL:
type
TRVDrawStyleTextEvent = procedure (Sender: TRVStyle;
const s: TRVUnicodeString; ACanvas: TCanvas; StyleNo: Integer;
SpaceAtLeft, ALeft, ATop, AWidth, AHeight
{$IFDEF RVUSEBASELINE},BaseLine{$ELSE}
{$IFDEF RVHIGHFONTS},DrawOffsY{$ENDIF}
{$ENDIF}: TRVCoord;
TextWidth: TRVCoord; SpaceCount: Integer;
DrawState: TRVTextDrawStates;
Printing, PreviewCorrection, ForMetafile: Boolean;
ColorMode: TRVColorMode; DarkMode: Boolean;
DefBiDiMode: TRVBiDiMode;
RefCanvas: TCanvas;
LeftNoExpIndex, RightNoExpIndex: Integer;
PSaD: PRVScreenAndDevice;
var DoDefault: Boolean) of object;
FireMonkey:
type
TRVDrawStyleTextEvent = procedure (Sender: TRVStyle;
const s: TRVUnicodeString; ACanvas: TRVFMXCanvas;
StyleNo: Integer;
SpaceAtLeft, ALeft, ATop, AWidth, AHeight
{$IFDEF RVUSEBASELINE},BaseLine{$ELSE}
{$IFDEF RVHIGHFONTS},DrawOffsY{$ENDIF}
{$ENDIF}: TRVCoord;
TextWidth: TRVCoord; SpaceCount: Integer;
DrawState: TRVTextDrawStates;
Printing, PreviewCorrection, ForMetafile: Boolean;
ColorMode: TRVColorMode; DarkMode: Boolean;
DefBiDiMode: TRVBiDiMode;
RefCanvas: TCanvas;
LeftNoExpIndex, RightNoExpIndex: Integer;
PSaD: PRVScreenAndDevice;
var DoDefault: Boolean) of object;
Это событие можно использовать для нестандартного рисования текста определенных стилей.
Входные параметры:
Такие же, как у метода TFontInfo.Draw. Вы можете вызвать Sender.TextStyles[StyleNo].Draw(..), передав параметры этого события.
«Скрытые» входные параметры:
Sender.RVData: TPersistent – документ, в котором находится этот элемент. Перед использованием его следует привести к типу TCustomRVFormattedData.
Sender.ItemNo: Integer – номер элемента в Sender.RVData.
Self.OffsetInItem: Integer, номер символа в элементе, с которого надо начинать рисовать.
Используя эти параметры, можно получить дополнительную информацию об элементе.
Например:
uses ..., CRVFData;
...
var ItemTag: TRVTag;
...
ItemTag := TCustomRVFormattedData(Sender.RVData).GetItemTag(
Sender.ItemNo));
Выходные параметры:
DoDefault – установите в False, чтобы отменить стандартное рисование.
Примечание: в VCL/LCL символ RVUSEBASELINE определён по умолчанию, но это определение можно отключить в RV_Defs.inc.
В FireMonkey символ RVUSEBASELINE не определён, и версия для FireMonkey не поддерживает рисование относительно базовой линии.
Символ RVHIGHFONTS определён по умолчанию.
См. также события:
См. также свойства:
Демонстрационные проекты:
▪Demos\*\Assorted\Custom Draw\