• delphi使用RichView控件 字体和段落


    TRichView字体和段落

    介绍

    TRVStyle.TextStyles

    Unit RVStyle;

    //文本样式属性的集合。
    property TextStyles : TFontInfos;
    //文本样式集合中的项目类。
    TFontInfos = class(TCustomRVInfos)
    //文本样式定义文档中的字体和其他文本属性。
    TFontInfo = class(TCustomRVFontInfo)
    

    TRVStyle.ParaStyles

    Unit RVStyle;

    //段落样式的集合。
    property ParaStyles : TParaInfos;
    //段落样式集合中的项目类。
    TParaInfos = class(TCustomRVInfos)
    

    属性

    字体名称

    property FontName: TFontName;
    type TFontName = type string;
    

    Default value 'Arial'

    字体大小

    property Size: Integer;
    property SizeDouble: Integer;
    

    (SizeDouble 是在version 15 中引入的)

    Size 以磅为单位指定字体大小,类似于 TFont.Size

    SizeDouble 以半点为单位指定字体大小,即它的值是 Size 的两倍。

    修改SizeSizeDouble属性的值会更改另一个属性的值。 SizeDouble 允许以更高的精度指定字体大小。

    Size Default value 10

    SizeDouble Default value 20

    字体颜色

    property Color: TColor;
    

    类似于 TFont.Color

    Default value clWindowText

    字体格式

    property Style: TFontStyles;
    type  TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut);
    type  TFontStyles = set of TFontStyle;
    

    类似于 TFont.Style

    Default value []

    字体上标下标样式

    type
      TRVSubSuperScriptType = (rvsssNormal,  rvsssSubscript,  rvsssSuperScript);
    property SubSuperScriptType: TRVSubSuperScriptType;
    

    指定此样式是普通文本rvsssNormal、下标rvsssSubscript还是上标rvsssSuperScript。(在version 10中引入)

    下标和上标以比大小中指定的字体更小的字体显示。

    Default value rvsssNormal

    段落对齐方式

    property Alignment : TRVAlignment;
    type
      TRVAlignment = 
        (rvaLeft, rvaRight, rvaCenter, rvaJustify, rvaDistribute);
    
    • rvaLeft 左对齐

    • rvaRight 右对齐

    • rvaCenter 居中

    • rvaJustify 两端对齐 最后一行根据 LastLineAlignment 属性对齐。

    • rvaDistribute 分撒对齐 最后一行根据 LastLineAlignment 属性对齐。

    Default value rvaLeft

    段落选项

    property Options: TRVParaOptions;
    type
      TRVParaOption =
        (rvpaoNoWrap, rvpaoReadOnly,
          rvpaoStyleProtect, rvpaoDoNotWantReturns,
          rvpaoKeepLinesTogether, rvpaoKeepWithNext,
          rvpaoWidowOrphanControl);
    
    TRVParaOptions = set of TRVParaOption;
    

    布局选项

    • rvpaoNoWrap 段落中不自动换行。如果使用无换行段落,建议在 RichView.Options 中添加 rvoClientTextWidth

    编辑和保护选项

    • rvpaoReadOnly 禁止在 TRichViewEdit 中编辑此样式的段落。当用户在段落开头或结尾按 Enter 键时,此选项不会防止添加新段落。此选项不会保护此段落与较多的选择一起被删除。

    • rvpaoStyleProtect 保护段落样式。如果设置,ApplyParaStyleApplyParaStyleTemplateApplyStyleTemplate 不能改变该样式的段落样式。此选项不保护 ApplyParaStyleConversion,但可以在 OnParaStyleConversion 事件中修改。

    • rvpaoDoNotWantReturns 不能回车。如果插入符号在此样式的段落内,则 Enter 键将被阻止。

    打印选项

    • rvpaoKeepLinesTogether 如果可能,此样式的段落打印在一页上。

    • rvpaoKeepWithNext 如果可能,此样式的段落与下一段打印在同一页上。 此外,此选项的工作方式类似于 rvpaoKeepLinesTogether。

    • rvpaoWidowOrphanControl 在此样式的段落中,防止在第一行之后和最后一行之前出现分页符。

    段落缩进

    //段落的第一行缩进。
    property FirstIndent: TRVStyleLength;
    //段落左缩进。
    property LeftIndent: TRVStyleLength;
    //段落右缩进。
    property RightIndent: TRVStyleLength;
    

    该值以屏幕像素(pixels)或缇(twips)为单位测量(打印时,根据打印机分辨率重新计算),具体取决于链接的 TRVStyle 组件的单位。

    在带有项目符号或编号的段落中,如果 BiDiMode=rvbdRightToLeft,此属性被列表级别的属性覆盖。

    • FirstIndent 段落的第一行缩进。该值可以为负。从左边框开始的第一段行的缩进(假设缩进转换为像素) = TCustomRichView.LeftMargin + LeftIndent + FirstIndent。Default value 0
    • LeftIndent 段落左缩进。从左边框缩进段落(假设缩进转换为像素)= TCustomRichView.LeftMargin + LeftIndent [ + FirstIndent 第一行 ]。Default value 0
    • RightIndent 段落右缩进。从右边框缩进段落(假设缩进转换为像素)= TCustomRichView.RightMargin + RightIndent。Default value 0

    方法

    查询添加样式

    function FindTextStyle(TextStyle: TFontInfo): Integer;
    function FindParaStyle(ParaStyle: TParaInfo): Integer;
    

    搜索与参数中指定的样式类似的样式,不存在时添加,返回样式列表中的索引。

    例子

    增加字体

    uses RVStyle;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      FontStyle: TFontInfo;
      NewFontNo: Integer;
    begin
      //复制文本样式列表中第一个样式
      FontStyle := TFontInfo.Create(nil);
      FontStyle.Assign(RichViewEdit1.Style.TextStyles[0]);
      //设置字体名称
      FontStyle.FontName := '宋体';
      //设置字体大小
      FontStyle.SizeDouble := 20;
      //设置加粗
      FontStyle.Style := [fsBold];
      //添加到文本样式列表中,并获取在文本样式列表中的索引
      NewFontNo := RichViewEdit1.Style.FindTextStyle(FontStyle);
      FontStyle.Free;
      //设置当前文档的字体
      RichViewEdit1.CurTextStyleNo := NewFontNo;
    end;
    

    增加段落

    uses RVStyle;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      ParaStyle: TParaInfo;
      NewParaNo: Integer;
    begin
      //复制段落样式列表中第一个样式
      ParaStyle := TParaInfo.Create(nil);
      ParaStyle.Assign(RichViewEdit1.Style.ParaStyles[0]);
      //设置段落的对齐方式
      ParaStyle.Alignment := rvaCenter;
      //设置段落不自动换行
      ParaStyle.Options := ParaStyle.Options + [rvpaoNoWrap];
      //添加到段落样式列表中,并获取在段落样式列表中的索引
      NewParaNo := RichViewEdit1.Style.FindParaStyle(ParaStyle);
      ParaStyle.Free;
      //设置当前文档的段落
      RichViewEdit1.CurParaStyleNo := NewParaNo;
    end;
    
  • 相关阅读:
    JSTL EL 详解
    什么是JavaBean
    easy.jsp出现According to TLD or attribute directive in tag file, attribute value does not accept any expressions
    搭建sendmail
    系统运维工程师之路
    centos7 搭建安装zabbix3.0服务端实例(一)
    单例模式
    cassandra-压缩策略
    cassandra的坑-windows平台压缩策略
    Quick Sort
  • 原文地址:https://www.cnblogs.com/txgh/p/15111927.html
Copyright © 2020-2023  润新知