TRichView更改选择内容样式
方法
TCustomRichViewEdit.ApplyParaStyle
应用指定的段落样式。
procedure ApplyParaStyle(ParaStyleNo: Integer);
参数
ParaStyleNo 段落样式集合中的索引(Style.ParaStyles
)。
该方法将段落样式ParaStyleNo应用于包含插入符号和所有选定段落的段落。
如果现有段落的Protection
中的样式为rvprStyleProtect,则此方法不会更改其样式。
如果要实现“更改对齐”、“增加缩进”等命令,请改用ApplyParaStyleConversion
。
TCustomRichViewEdit.ApplyParaStyleConversion
将自定义转换过程应用于所选段落的样式。
procedure ApplyParaStyleConversion(UserData: Integer; Recursive: Boolean = True);
参数
UserData 向OnParaStyleConversion
传递的值
Recursive False,不会为所选表格的单元格调用 OnStyleConversion
(单个表格中的多单元格选择情况除外)。
此过程调用每个所选项目的ondAstyLeConversion
事件。 使用此方法,可以实现“更改对齐”或“增加缩进”等命令。
此方法忽略任何段落保护,它可以改变段落样式,即使rvpaoStyleProtect包含在现有段落的Options
中。 如果要保留段落保护,请在ondAstyLeConversion
事件中检查此选项。
TCustomRichViewEdit.OnParaStyleConversion
在执行ApplyParAstyleConversion
方法时发生。
type
TRVStyleConversionEvent =
procedure (Sender: TCustomRichViewEdit;
StyleNo, UserData: Integer; AppliedToText: Boolean;
var NewStyleNo: Integer) of object;
property OnParaStyleConversion:TRVStyleConversionEvent;
此事件允许您为所选段落的样式创建自定义转换过程。 对所有选中的项目调用此事件,允许更改其段落样式。
它对于实现“更改段落对齐”,“更改段落缩进”等命令很有用。
参数
StyleNo 当前的段落样式(样式集合的索引Style.ParaStyles
)。
UserData 在ApplyParaStyleConversion
中作为参数传递的值。
AppliedToText 不使用
NewStyleNo 最初等于StyleNo; 为此参数分配一个新值以更改段落样式。
示例
示例 1
procedure TMyForm.MyRichViewEditParaStyleConversion(Sender: TCustomRichViewEdit;
StyleNo, UserData: Integer; AppliedToText: Boolean;
var NewStyleNo: Integer);
var ParaInfo: TParaInfo;
begin
// 创建具有所需属性的段落样式
ParaInfo := TParaInfo.Create(nil);
try
ParaInfo.Assign(RVStyle1.ParaStyles[StyleNo]);
case UserData of
PARA_ALIGNMENT:
ParaInfo.Alignment := GetAlignment;
PARA_INDENTINC:
begin
ParaInfo.LeftIndent := ParaInfo.LeftIndent+20;
if ParaInfo.LeftIndent>1000 then
ParaInfo.LeftIndent := 1000;
end;
PARA_INDENTDEC:
begin
ParaInfo.LeftIndent := ParaInfo.LeftIndent-20;
if ParaInfo.LeftIndent<0 then
ParaInfo.LeftIndent := 0;
end;
PARA_COLOR:
ParaInfo.Background.Color := ColorDialog1.Color;
// 添加代码....
end;
// 搜索样式(没有时添加)
NewStyleNo := RVStyle1.FindParaStyle(ParaInfo);
finally
ParaInfo.Free;
end;
end;
此示例显示如何实现以下命令:
- 更改段落对齐方式,
- 增加左缩进,
- 减少左缩进,
- 更改段落背景颜色。
在此代码中:
- PARA_*** – 用户定义的Integer常量,具有唯一值; 这些常数识别命令; 它们作为 UserData 传递给
ApplyParaStyleConversion
; - RVStyle1 –
TRVStyle
组件与MyRichViewEdit组件链接; - ColorDialog1:
TColorDialog
; - GetAlignment – 函数返回用户选择的段落对齐方式。
你可以看到此事件中添加的新段落样式,Standard
属性被设置为False。这很重要,否则DeleteUnusedStyles
将不能删除此样式,即使此样式的所有段落都将被删除。