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 的兩倍。
修改Size
或SizeDouble
屬性的值會更改另一個屬性的值。 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 保護段落樣式。如果設定,
ApplyParaStyle
、ApplyParaStyleTemplate
、ApplyStyleTemplate
不能改變該樣式的段落樣式。此選項不保護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 0LeftIndent
段落左縮排。從左邊框縮排段落(假設縮排轉換為畫素)= TCustomRichView.LeftMargin + LeftIndent [ + FirstIndent 第一行 ]。Default value 0RightIndent
段落右縮排。從右邊框縮排段落(假設縮排轉換為畫素)= 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;