Rich Edit - Win32 apps

本部分包含有关用于丰富编辑控件的编程元素的信息。 丰富的编辑控件使用户能够输入、编辑、打印和保存文本。 文本可以分配字符和段落格式,并且可以包括嵌入的组件对象模型 (COM) 对象。

由于富编辑控件几乎支持用于多行 编辑控件的所有消息和通知代码,因此,已使用编辑控件的应用程序可以轻松更改为使用丰富的编辑控件。

综述

主题

内容

有关富编辑控件 的

本部分介绍丰富的编辑控件。

使用富编辑控件

本节包含的主题演示如何创建和使用丰富的编辑控件。

功能

主题

内容

AutoCorrectProc

AutoCorrectProc 函数是应用程序定义的回调函数,用于 EM_SETAUTOCORRECTPROC 消息。

EditStreamCallback

EditStreamCallback 函数是应用程序定义的回调函数,用于 EM_STREAMIN 和 EM_STREAMOUT 消息。 它用于将数据流传入或传出丰富的编辑控件。

EditWordBreakProcEx

EditWordBreakProcEx 函数是应用程序定义的回调函数,用于 EM_SETWORDBREAKPROCEX 消息。 它确定断字符的字符索引或指定文本中字符的字符类和断字符标志。

连字符Proc

HyphenateProc 函数是与 EM_SETHYPHENATEINFO 消息一起使用的应用程序定义的回调函数。 它确定如何在 Microsoft Rich Edit 控件中执行断字。

接口

主题

内容

IRichEditOle

IRichEditOle 接口公开富编辑控件的 COM 功能。 可以通过发送 EM_GETOLEINTERFACE 消息来获取接口。

IRichEditOleCallback

富文本编辑控件使用 IRichEditOleCallback 接口从其客户端检索 OLE 相关信息。 富编辑控件客户端负责实现此接口,并使用 EM_SETOLECALLBACK 消息将其分配给控件。

消息

主题

内容

EM_AUTOURLDETECT

启用或禁用富编辑控件自动检测 URL。

EM_CANPASTE

确定富编辑控件是否可以粘贴指定的剪贴板格式。

EM_CANREDO

确定控件重做队列中是否有任何作。

EM_DISPLAYBAND

显示富编辑控件内容的一部分,如以前使用 EM_FORMATRANGE 消息为设备设置的格式。

EM_EXGETSEL

在丰富的编辑控件中检索所选内容的起始和结束字符位置。

EM_EXLIMITTEXT

设置用户可键入或粘贴到富编辑控件中的文本量的上限。

EM_EXLINEFROMCHAR

确定哪些行包含富编辑控件中的指定字符。

EM_EXSETSEL

在 Rich Edit 控件中选择一系列字符或 COM 对象。

EM_FINDTEXT

查找富编辑控件中的文本。

EM_FINDTEXTEX

查找富编辑控件中的文本。

EM_FINDTEXTEXW

在富编辑控件中查找 Unicode 文本。

EM_FINDTEXTW

在富编辑控件中查找 Unicode 文本。

EM_FINDWORDBREAK

查找指定字符位置之前或之后的下一个断字符,或检索有关该位置的字符的信息。

EM_FORMATRANGE

在特定设备的丰富编辑控件中设置文本范围的格式。

EM_GETAUTOURLDETECT

指示是否在富编辑控件中启用自动 URL 检测。

EM_GETBIDIOPTIONS

指示富编辑控件中双向选项的当前状态。

EM_GETCHARFORMAT

确定富编辑控件中的字符格式。

EM_GETCTFMODEBIAS

获取 Rich Edit 控件的文本服务框架 (TSF) 模式偏差值。

EM_GETCTFOPENSTATUS

确定 TSF 键盘是打开还是关闭。

EM_GETEDITSTYLE

检索当前编辑样式标志。

EM_GETEVENTMASK

检索富编辑控件的事件掩码。 事件掩码指定控件发送到其父窗口的通知代码。

EM_GETHYPHENATEINFO

获取有关 Rich Edit 控件的连字符的信息。

EM_GETIMECOLOR

检索输入法编辑器(IME)组合颜色。 此消息仅适用于作系统的亚洲语言版本。

EM_GETIMECOMPMODE

获取富编辑控件的当前 IME 模式。

EM_GETIMECOMPTEXT

获取 IME 合成文本。

EM_GETIMEMODEBIAS

获取 Rich Edit 控件的 IME 模式偏差。

EM_GETIMEOPTIONS

检索当前的 IME 选项。 此消息仅适用于作系统的亚洲语言版本。

EM_GETIMEPROPERTY

获取与当前输入区域设置关联的 IME 的属性和功能。

EM_GETLANGOPTIONS

获取 IME 和亚洲语言支持的丰富编辑控件选项设置。

EM_GETOLEINTERFACE

检索客户端可用于访问丰富编辑控件的 COM 功能的 IRichEditOle 对象。

EM_GETOPTIONS

检索丰富的编辑控件选项。

EM_GETPAGEROTATE

荒废的。 获取 Rich Edit 控件的文本布局。

EM_GETPARAFORMAT

检索富编辑控件中当前所选内容的段落格式。

EM_GETPUNCTUATION

获取富编辑控件的当前标点符号字符。 此消息仅适用于作系统的亚洲语言版本。

EM_GETREDONAME

检索富编辑控件重做队列中下一个作的类型(如果有)。

EM_GETSCROLLPOS

获取编辑控件的当前滚动位置。

EM_GETSELTEXT

检索富编辑控件中当前选定的文本。

EM_GETTEXTEX

获取任意特定代码库中富编辑控件中的所有文本。

EM_GETTEXTLENGTHEX

以各种方式计算文本长度。 通常在创建缓冲区以接收控件中的文本之前调用它。

EM_GETTEXTMODE

获取富编辑控件的当前文本模式和撤消级别。

EM_GETTEXTRANGE

从富编辑控件中检索指定的字符范围。

EM_GETTYPOGRAPHYOPTIONS

检索富编辑控件的版式选项的当前状态。

EM_GETUNDONAME

Microsoft Rich Edit 2.0 及更高版本:检索下一个撤消作的类型(如果有)。 Microsoft Rich Edit 1.0:不支持此消息。

EM_GETWORDBREAKPROCEX

检索当前注册的扩展断字过程的地址。

EM_GETWORDWRAPMODE

获取富编辑控件的当前换行和断字选项。 此消息仅适用于作系统的亚洲语言版本。

EM_GETZOOM

获取当前缩放比例,该比率始终介于 1/64 和 64 之间。

EM_HIDESELECTION

隐藏或显示富编辑控件中的选定内容。

EM_ISIME

确定当前输入区域设置是否为东亚区域设置。

EM_PASTESPECIAL

将特定剪贴板格式粘贴到丰富的编辑控件中。

EM_RECONVERSION

调用 IME 重新转换对话框。

EM_REDO

重做控件重做队列中的下一个作。

EM_REQUESTRESIZE

强制富编辑控件将 EN_REQUESTRESIZE 通知代码发送到其父窗口。

EM_SELECTIONTYPE

确定富编辑控件的选择类型。

EM_SETBIDIOPTIONS

设置富编辑控件中双向选项的当前状态。

EM_SETBKGNDCOLOR

设置富编辑控件的背景色。

EM_SETCHARFORMAT

在丰富的编辑控件中设置字符格式。

EM_SETCTFMODEBIAS

设置 Rich Edit 控件的 TSF 模式偏差。

EM_SETCTFOPENSTATUS

打开或关闭 TSF 键盘。

EM_SETEDITSTYLE

设置当前编辑样式标志。

EM_SETEVENTMASK

设置富编辑控件的事件掩码。 事件掩码指定控件发送到其父窗口的通知代码。

EM_SETFONTSIZE

设置所选文本的字号。

EM_SETHYPHENATEINFO

设置 Rich Edit 控件执行连字符的方式。

EM_SETIMECOLOR

设置 IME 组合颜色。 此消息仅适用于作系统的亚洲语言版本。

EM_SETIMEMODEBIAS

设置 Rich Edit 控件的 IME 模式偏差。

EM_SETIMEOPTIONS

设置 IME 选项。 此消息仅适用于作系统的亚洲语言版本。

EM_SETLANGOPTIONS

在丰富的编辑控件中设置 IME 和亚洲语言支持的选项。

EM_SETOLECALLBACK

为富编辑控件提供一个 IRichEditOleCallback 对象,该对象用于从客户端获取与 OLE 相关的资源和信息。

EM_SETOPTIONS

设置富编辑控件的选项。

EM_SETPAGEROTATE

荒废的。 设置 Rich Edit 控件的文本布局。

EM_SETPALETTE

更改丰富编辑对其显示窗口使用的调色板。

EM_SETPARAFORMAT

设置富编辑控件中当前所选内容的段落格式。

EM_SETPUNCTUATION

设置富编辑控件的标点符号字符。 此消息仅适用于作系统的亚洲语言版本。

EM_SETSCROLLPOS

告知富编辑控件滚动到特定点。

EM_SETTARGETDEVICE

在丰富的编辑控件中设置用于“你看到的内容”(WYSIWYG)格式的目标设备和线条宽度。

EM_SETTEXTEX

结合 WM_SETTEXT 和 EM_REPLACESEL的功能,并增加了使用代码页设置文本以及使用格式文本或纯文本的功能。

EM_SETTEXTMODE

设置富编辑控件的文本模式或撤消级别。 如果控件包含任何文本,则消息将失败。

EM_SETTYPOGRAPHYOPTIONS

设置富编辑控件的版式选项的当前状态。

EM_SETUNDOLIMIT

设置可存储在撤消队列中的最大作数。

EM_SETWORDBREAKPROCEX

设置扩展断字过程。

EM_SETWORDWRAPMODE

设置富编辑控件的换行和断字选项。 此消息仅适用于作系统的亚洲语言版本。

EM_SETZOOM

将缩放比例设置为 1/64 和 64 之间的任意位置。

EM_SHOWSCROLLBAR

在“文本主机”窗口中显示或隐藏其中一个滚动条。

EM_STOPGROUPTYPING

停止控件将其他键入作收集到当前撤消作中。 该控件将下一个键入作(如果有)存储在撤消队列中的新作中。

EM_STREAMIN

将富编辑控件的内容替换为由 EditStreamCallback 回调函数定义的应用程序提供的数据流。

EM_STREAMOUT

导致富编辑控件将其内容传递给 EditStreamCallback 回调函数定义的应用程序。 然后,回调函数可以将数据流写入文件或其选择的任何其他位置。

通知

主题

内容

EN_ALIGNLTR

通知富编辑控件的父窗口,段落方向已更改为从左到右。 富编辑控件以 WM_COMMAND 消息的形式发送此通知代码。

EN_ALIGNRTL

通知富编辑控件的父窗口,段落方向更改为从右到左。 富编辑控件以 WM_COMMAND 消息的形式发送此通知代码。

EN_CORRECTTEXT

通知富编辑控件的父窗口发生SYV_CORRECT手势,使父窗口有机会取消更正文本。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_DRAGDROPDONE

通知富编辑控件的父窗口拖放作已完成。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_DROPFILES

通知富编辑控件的父窗口,用户正在尝试将文件拖放到控件中。 当收到 WM_DROPFILES 消息时,富编辑控件会以 WM_NOTIFY 消息的形式发送此通知代码。

EN_IMECHANGE

通知富编辑控件的父级 IME 转换状态已更改。 对于作系统的亚洲语言版本,此消息仅 。 富编辑控件以 WM_COMMAND 消息的形式发送此通知代码。

EN_LINK

当用户单击鼠标或鼠标指针位于具有CFE_LINK效果的文本上时,通知富编辑控件的父窗口。 控件的父窗口通过 WM_NOTIFY 消息接收此通知代码。

EN_LOWFIRTF

通知富编辑控件的父窗口,即收到不支持的 RTF 格式(RTF)关键字。 Rich Edit 控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_MSGFILTER

通知控件中键盘或鼠标事件的丰富编辑控件的父窗口。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_OBJECTPOSITIONS

在控件读取对象时通知富编辑控件的父窗口。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_OLEOPFAILED

通知富编辑控件的父窗口,用户对 COM 对象的作失败。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_PROTECTED

通知富编辑控件的父窗口,用户正在执行更改受保护文本范围的作。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_REQUESTRESIZE

通知富编辑控件的父窗口,控件的内容小于或大于控件的窗口大小。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_SAVECLIPBOARD

通知富编辑控件的父窗口,控件正在关闭,剪贴板包含信息。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_SELCHANGE

通知富编辑控件的父窗口当前所选内容已更改。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

EN_STOPNOUNDO

通知富编辑控件的父窗口发生某个作,控件无法为其分配足够的内存来维护撤消状态。 富编辑控件以 WM_NOTIFY 消息的形式发送此通知代码。

结构

主题

内容

BIDIOPTIONS

包含有关富编辑控件的双向信息。

EM_GETBIDIOPTIONS 和 EM_SETBIDIOPTIONS 消息使用此结构来获取和设置控件的双向信息。

CHARFORMAT

包含有关富编辑控件中字符格式的信息。

CHARFORMAT2

包含有关富编辑控件中字符格式的信息。

CHARFORMAT2 是 CHARFORMAT 结构的 Microsoft Rich Edit 2.0 扩展。 Microsoft Rich Edit 2.0 允许将任一结构用于 EM_GETCHARFORMAT 和 EM_SETCHARFORMAT 消息。

CHARRANGE

指定富编辑控件中的字符范围。

COMPCOLOR

包含组合字符串的颜色设置。

EDITSTREAM

包含应用程序传递到 EM_STREAMIN 或 EM_STREAMOUT 消息中的富编辑控件的信息。 丰富的编辑控件使用信息将数据流传输到控件中或传出控件中。

ENCORRECTTEXT

包含有关要更正的选定文本的信息。

ENDROPFILES

包含与 EN_DROPFILES 通知代码关联的信息。 富编辑控件在收到 WM_DROPFILES 消息时发送此通知代码。

ENLINK

包含有关来自丰富编辑控件的 EN_LINK 通知代码的信息。

ENLOWFIRTF

包含有关 Rich Edit 控件中不支持的 RTF 关键字的信息。

ENOLEOPFAILED

包含有关失败作的信息。

ENPROTECTED

包含与 EN_PROTECTED 通知代码关联的信息。 当用户尝试编辑受保护的文本时,富编辑控件会发送此通知。

ENSAVECLIPBOARD

包含有关剪贴板上的对象和文本的信息。

FINDTEXT

包含有关富编辑控件中的搜索作的信息。 此结构与 EM_FINDTEXT 消息一起使用。

FINDTEXTEX

包含有关在富编辑控件中搜索的文本的信息。 此结构与 EM_FINDTEXTEX 消息一起使用。

FORMATRANGE

包含富编辑控件用来设置特定设备的输出格式的信息。 此结构与 EM_FORMATRANGE 消息一起使用。

GETTEXTEX

包含有关从富编辑控件获取文本的作的信息。 此结构在 EM_GETTEXTEX 消息中的 wParam 中传递。

GETTEXTLENGTHEX

包含有关如何计算富编辑控件的文本长度的信息。 此结构在 EM_GETTEXTLENGTHEX 消息中的 wParam 中传递。

HYPHENATEINFO

包含有关 Rich Edit 控件中的连字符的信息。

HYPHRESULT

包含有关 Rich Edit 控件中连字符结果的信息。

IMECOMPTEXT

包含有关 Rich Edit 控件中的合成文本的信息。

MSGFILTER

包含有关键盘或鼠标事件的信息。 富编辑控件将此结构作为 EN_MSGFILTER 通知代码的一部分发送到其父窗口,使父控件能够更改消息或阻止处理该消息。

OBJECTPOSITIONS

包含对象位置信息。

PARAFORMAT

包含有关富编辑控件中段落格式属性的信息。 此结构用于 EM_GETPARAFORMAT 和 EM_SETPARAFORMAT 消息。

PARAFORMAT2

包含有关富编辑控件中段落格式属性的信息。

标点符号

包含有关富编辑控件中使用的标点符号的信息。

REOBJECT

包含有关对象的信息。

REPASTESPECIAL

包含用于标识粘贴对象的显示方面是否应基于对象的内容或表示对象的图标的信息。

REQRESIZE

包含丰富的编辑控件的请求大小。 富编辑控件将此结构作为 EN_REQUESTRESIZE 通知代码的一部分发送到其父窗口。

SELCHANGE

包含与 EN_SELCHANGE 通知代码关联的信息。 当当前选择发生更改时,富编辑控件会将此通知发送到其父窗口。

SETTEXTEX

指定要在设置文本中使用的代码页(如果有),无论是文本替换控件中的所有文本还是只替换选定内容,以及撤消状态是否保留。

TEXTRANGE

从丰富的编辑控件接收一系列文本。 此结构由 EM_GETTEXTRANGE 消息填充。

lpstrText 成员指向的缓冲区必须足够大,才能接收所有字符和终止 null 字符。

常数

主题

内容

富编辑控件事件掩码标志

事件掩码指定富编辑控件发送到其父窗口的通知代码。

丰富的编辑控件样式

描述富编辑控件特有的窗口样式。