RichView段落缩进

段落缩进

在输入文字的过程中,如果按下回车键,新成生的段落会与当前段落对齐,下面例子只处理了回车,如果要实现自动换行时也达到同样效果,可以在其文字录入事情中作相同处理!

实现过程主要是通得到当前光标所在段落(行)前面的空格数,然后在新段落头中插入同相的数目的空格

function GetLeadingSpacesCount(rve: TCustomRichViewEdit): Integer; 
var StartItemNo, ItemNo, i: Integer; 
    s: String; 
begin 
  rve := rve.TopLevelEditor; 
  ItemNo := rve.CurItemNo; 
  while not rve.IsParaStart(ItemNo) do 
    dec(ItemNo); 
  Result := 0; 
  StartItemNo := ItemNo; 
  while ItemNo
    if (ItemNo>StartItemNo) and rve.IsParaStart(ItemNo) then 
      exit; //如果在段落头则不处理
    if rve.GetItemStyle(ItemNo)<0 then //如果不是文字也不处理
      exit; 
    s := rve.GetItemText(ItemNo); 
    for i := 1 to Length(s) do 
      if s[i]=‘ ‘ then 
        inc(Result) //计算空格数
      else 
        exit; 
    inc(ItemNo); 
  end; 
end;

//通过空格数返回字符个数,空格也是字符

function GetSpaces(Count: Integer): String; 
var i: Integer; 
begin 
  SetLength(Result, Count); 
  for i := 1 to Count do 
    Result[i] := ‘ ‘; 
end;

最后在KeyDown下面实现

if Key=VK_RETURN then begin 
    RichViewEdit1.InsertText(#13+GetSpaces(GetLeadingSpacesCount(RichViewEdit1))); 
    Key := 0; 
  end;

时间: 2024-08-07 23:35:01

RichView段落缩进的相关文章

文本段落缩进text-indent:2em

中文文字中的段前习惯空两个文字的空白,这个特殊的样式可以用下面代码来实现: p{text-indent:2em;} <p>1922年的春天,一个想要成名名叫尼克卡拉威(托比?马奎尔Tobey Maguire 饰)的作家,离开了美国中西部,来到了纽约.那是一个道德感渐失,爵士乐流行,走私为王,股票飞涨的时代.为了追寻他的美国梦,他搬入纽约附近一海湾居住.</p> 注意:2em的意思就是文字的2倍大小 原文地址:https://www.cnblogs.com/cowboybusy/p/

css。。段落样式

边框图片 boder-image: 盒子阴影 box-shadow: box-shadow:X轴偏移量 Y轴偏移量[阴影模糊半径]  [阴影颜色]  [投影方式] 段落样式 行高 p{line-height:25px;} p{line-height:150%;} 段落缩进 text-align:left|right|center|justify(两端对齐) p{text-align:right;} p{text-align:center;} p{text-align:justify;}*两端对齐

css之文本缩进 | 文本对齐 | 上划线 | 下划线 | 删除线 | 首字母大写 | 全部变大写 | 全部变小写

1.文本缩进: 举例: 如果是整个段落缩进: 要实现下面的效果: -40px 2.文本对齐: 举例: 3.文本装饰: 举例: 删除线: 4.文本变形: 举例: 全部变大写: 全部变小写:

TeX-换行换页与段落命令

换行换页与段落命令1 UTF8nsung Abstract 文档在排版时往往要求每一行具有相同的长度, LATEX 为了对整段的文挡进行优化,将插入必要的换行和空恪.如果必要的话对于一行中不好放的单词,LATEX还将用连字符把它分开放在两行之中.一般倩况下每个文档段的首行按锯齿状缩进,段与段之间没有多余的空格. 1  换行命令 1.1  \\和\\*命令 \\[extra-space] \\*[extra-space] 有时出于某种需要我们有必要显式地插入换行,我们可以使用这两条命令.此时 LA

边框样式、段落样式、背景样式

边框样式: 1. border-width 边框宽度: div { width:200px; height:200px; border-style:solid; border-width:5px; } /*border-top-width 设置上边框宽度 border-bottom-width 设置下边框宽度 border-left-width 设置左边框宽度 border-right-width 设置右边框宽度*/ 2. border-color 边框颜色: div { width:200px

html 12 行 快 转换 段落 文字

display: block;inline;none;inline-block; 段落缩进 text-indent:20px font: font-style font-weight font-size line-height font-family family: "xxx","xxxx","xxxxxxxx",sans-serif serif color : #999999; /*文字颜色*/ font-family : 宋体,sans-se

初识HTML之标记2(标题标记、段落标记、引用文本标记)

在<body></body>标记中的内容就是我们在页面看得见的内容. 定义正文标题标记:HTML支持6个级别的正文标题<h1></h1>...<h6></h6>.重要性由大到小.<h1>最大,<h6>最小.还正文标题标记中的元素内容会以较大的粗体显示.当然正文标题标记结束后它会自动换行. 定义段落标记:<p></p>例如<p>我在学习HTML</p>同样段落标记结

Word2013 设置默认缩进

我的word2013默认的Tab缩进是1.27厘米,用起来很不方面.如果每次都是用段落缩进调整的话,又会把一些不想缩进的内容给缩进了.下面的设置把默认缩进改成2字符. 单击段落菜单 单击制表位按钮 将默认制表位改成”2字符“ 单击确定. 搞定~

Java学习:HTML入门

HTML HTML基本标签 <html> --html开始标签 <head> -- 文件头(用户在浏览器的主体是看不到的) </head> <body> --文件体(用户在浏览器的主体看得到) </body></html> --html结束标签 <!-- -->这是html的注释标签的形式. <meta http-equiv="content-type" content="text/ht