iTextRange::D elete 方法 (tom.h)

模拟 DELETE 和 BACKSPACE 键,且不按下 CTRL 键。

语法

HRESULT Delete(
  long Unit,
  long Count,
  long *pDelta
);

参数

Unit

类型: long

要使用的单位。 Unit 可以是 tomCharacter (默认值) 或 tomWord

Count

类型: long

要删除的 单位数。 如果 Count= 零,则仅删除区域中的文本。 如果 Count 大于零, 则 ITextRange::D elete 就像按下 DELETE 键 计数 次数一样。 如果 Count 小于零,则其作用就像按下 BACKSPACE 键 计数 次数一样。 默认值为 1。 有关详细信息,请参阅“备注”部分。

pDelta

类型: long*

已删除的单位计数。 它可以为 NULL。 pDelta 参数设置为等于已删除的单位数。 删除非生成区域中的文本将计为一个 Unit

返回值

类型: HRESULT

此方法返回 HRESULT 值。 如果成功,则返回 S_OK。 否则,它将返回以下值之一。 有关 COM 错误代码的详细信息,请参阅 COM 中的错误处理

返回代码 说明
E_ACCESSDENIED
文本受写保护。
S_FALSE
由于其他某种原因而失败。

注解

如果 Count = 零,此方法将删除该区域中的文本,也就是说,如果该区域只是插入点,则不删除任何内容。

如果 Count 不为零,并且范围是插入点 (即退化) , | 计数| (Count) Unit的绝对值将按照 Count 符号给定的逻辑方向删除,其中正值是文章末尾的方向,负值是故事的开头。

如果 Count 不为零,并且范围是非退化的, (包含文本) ,则无论 单位 计数) 的值如何,都会 (删除该区域中的文本,从而创建插入点。 然后, | 计数|- 1 单元Count 符号给定的逻辑方向删除。

也可以通过将 null 字符串分配给执行语句 r = ((其中 是 是) 范围)的区域来删除该区域中的文本。 但是, ITextRange::D elete 不需要分配 BSTR

删除段落尾标记 (CR) 会导致 Microsoft Word UI 的特殊行为。 有四种情况特别值得关注:

  • 如果仅删除 CR,但段落包含文本,则会删除 CR,并且以下段落将获取与当前段落相同的段落格式。
  • 如果删除 CR 以及下一段落中的部分(但不是全部)字符,则当前段落中留下的字符将获取下一段落的段落格式。
  • 如果选择到段落的末尾,而不是整个段落,则不会删除 CR。
  • 如果从开头到 CR) 删除整个段落 (,则删除 CR 以及 (,除非它是文件) 中的最终 CR。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 tom.h
DLL Msftedit.dll

请参阅

概念性

ITextRange

引用

文本对象模型