Rich Edit
本节包含与 Rich Edit 控件一起使用的编程元素的相关信息。 Rich Edit 控件让用户能够输入、编辑、打印和保存文本。 可以为文本指定字符和段落格式,还可以包含嵌入式组件对象模型 (COM) 对象。
由于 Rich Edit 控件支持与多行编辑控件配合使用的几乎所有消息和通知代码,因此已经使用编辑控件的应用程序可以轻松地更改为使用 Rich Edit 控件。
概述
主题 | 目录 |
---|---|
关于 Rich Edit 控件 | 本节介绍 Rich Edit 控件。 |
使用 Rich Edit 控件 | 本节包含演示如何创建和使用 Rich Edit 控件的主题。 |
函数
主题 | 目录 |
---|---|
AutoCorrectProc | AutoCorrectProc 函数是一个应用程序定义的回调函数,与 EM_SETAUTOCORRECTPROC 消息一起使用。 |
EditStreamCallback | EditStreamCallback 函数是一个应用程序定义的回调函数,与 EM_STREAMIN 和 EM_STREAMOUT 消息一起使用。 它用于将数据流传输到 Rich Edit 控件中或从 Rich Edit 控件传出。 |
EditWordBreakProcEx | EditWordBreakProcEx 函数是一个应用程序定义的回调函数,与 EM_SETWORDBREAKPROCEX 消息一起使用。 它确定断字符的字符索引或指定文本中字符的字符类和断字符标志。 |
HyphenateProc | HyphenateProc 函数是应用程序定义的回调函数,与 EM_SETHYPHENATEINFO 消息一起使用。 确定如何在 Microsoft Rich Edit 控件中执行断字。 |
接口
主题 | 目录 |
---|---|
IRichEditOle | IRichEditOle 接口公开 Rich Edit 控件的 COM 功能。 该接口可以通过发送 EM_GETOLEINTERFACE 消息来获取。 |
IRichEditOleCallback | 富文本编辑控件使用 IRichEditOleCallback 接口从其客户端获取 OLE 相关信息。 Rich Edit 控件客户端负责实现该接口,并通过使用 EM_SETOLECALLBACK 消息将其分配给控件。 |
消息
主题 | 目录 |
---|---|
EM_AUTOURLDETECT | 启用或禁用 Rich Edit 控件对 URL 的自动检测。 |
EM_CANPASTE | 确定 Rich Edit 控件是否可以粘贴指定的剪贴板格式。 |
EM_CANREDO | 确定控件重做队列中是否有任何操作。 |
EM_DISPLAYBAND | 显示 Rich Edit 控件的部分内容,与之前使用 EM_FORMATRANGE 消息为设备设置的格式相同。 |
EM_EXGETSEL | 检索 Rich Edit 控件中选中字符的起始和终止位置。 |
EM_EXLIMITTEXT | 为用户在 Rich Edit 控件中键入或粘贴的文本量设置上限。 |
EM_EXLINEFROMCHAR | 确定 Rich Edit 控件中哪一行包含指定的字符。 |
EM_EXSETSEL | 在 Rich Edit 控件中选择一系列字符或 COM 对象。 |
EM_FINDTEXT | 查找 Rich Edit 控件中的文本。 |
EM_FINDTEXTEX | 查找 Rich Edit 控件中的文本。 |
EM_FINDTEXTEXW | 查找 Rich Edit 控件中的 Unicode 文本。 |
EM_FINDTEXTW | 查找 Rich Edit 控件中的 Unicode 文本。 |
EM_FINDWORDBREAK | 查找指定字符位置之前或之后的下一个换行符,或检索有关该位置字符的信息。 |
EM_FORMATRANGE | 在特定设备的 Rich Edit 控件中格式化文本范围。 |
EM_GETAUTOURLDETECT | 指明在 Rich Edit 控件中是否开启了自动 URL 检测功能。 |
EM_GETBIDIOPTIONS | 指明 Rich Edit 控件中双向选项的当前状态。 |
EM_GETCHARFORMAT | 确定 Rich Edit 控件中的字符格式。 |
EM_GETCTFMODEBIAS | 获取 Rich Edit 控件的文本服务框架 (TSF) 模式偏差值。 |
EM_GETCTFOPENSTATUS | 确定 TSF 键盘是打开还是关闭。 |
EM_GETEDITSTYLE | 检索当前编辑样式标志。 |
EM_GETEVENTMASK | 检索 Rich Edit 控件的事件掩模。 事件掩模会指定控件向其父窗口发送哪些通知代码。 |
EM_GETHYPHENATEINFO | 获取有关 Rich Edit 控件的连字符的信息。 |
EM_GETIMECOLOR | 检索输入法编辑器 (IME) 的合成颜色。 此消息仅适用于操作系统的亚洲语言版本。 |
EM_GETIMECOMPMODE | 获取 Rich Edit 控件的当前 IME 模式。 |
EM_GETIMECOMPTEXT | 获取 IME 合成文本。 |
EM_GETIMEMODEBIAS | 获取 Rich Edit 控件的 IME 模式偏差。 |
EM_GETIMEOPTIONS | 检索当前的 IME 选项。 此消息仅适用于操作系统的亚洲语言版本。 |
EM_GETIMEPROPERTY | 获取与当前输入区域设置关联的 IME 属性和功能。 |
EM_GETLANGOPTIONS | 获取 Rich Edit 控件的选项设置,以支持 IME 和亚洲语言。 |
EM_GETOLEINTERFACE | 检索 IRichEditOle 对象,客户端可使用该对象来访问 Rich Edit 控件的 COM 功能。 |
EM_GETOPTIONS | 检索 Rich Edit 控件选项。 |
EM_GETPAGEROTATE | 已弃用。 获取 Rich Edit 控件的文本布局。 |
EM_GETPARAFORMAT | 检索 Rich Edit 控件中当前选择的段落格式。 |
EM_GETPUNCTUATION | 获取 Rich Edit 控件的当前标点符号。 此消息仅适用于操作系统的亚洲语言版本。 |
EM_GETREDONAME | 检索 Rich Edit 控件重做队列中下一个操作(如有)的类型。 |
EM_GETSCROLLPOS | 获取编辑控件的当前滚动位置。 |
EM_GETSELTEXT | 读取 Rich Edit 控件中当前选中的文本。 |
EM_GETTEXTEX | 获取任意特定代码库中 Rich Edit 控件中的所有文本。 |
EM_GETTEXTLENGTHEX | 以各种方式计算文本长度。 它通常会在创建缓冲区以接收来自控件的文本之前被调用。 |
EM_GETTEXTMODE | 获取 Rich Edit 控件的当前文本模式和撤销级别。 |
EM_GETTEXTRANGE | 从 Rich Edit 控件中读取指定范围的字符。 |
EM_GETTYPOGRAPHYOPTIONS | 检索 Rich Edit 控件版式选项的当前状态。 |
EM_GETUNDONAME | Microsoft Rich Edit 2.0 及更高版本:检索下一个撤销操作的类型(如有)。 Microsoft Rich Edit 1.0:不支持此消息。 |
EM_GETWORDBREAKPROCEX | 检索当前注册的扩展断字过程的地址。 |
EM_GETWORDWRAPMODE | 获取 Rich Edit 控件的当前换行和断字选项。 此消息仅适用于操作系统的亚洲语言版本。 |
EM_GETZOOM | 获取当前缩放比,该比率始终介于 1/64 和 64 之间。 |
EM_HIDESELECTION | 隐藏或显示 Rich Edit控件中的选择。 |
EM_ISIME | 确定当前输入区域设置是否为东亚区域设置。 |
EM_PASTESPECIAL | 在 Rich Edit 控件中粘贴特定的剪贴板格式。 |
EM_RECONVERSION | 调用 IME 重新转换对话框。 |
EM_REDO | 恢复控件的恢复队列中的下一个操作。 |
EM_REQUESTRESIZE | 强制 Rich Edit 控件向其父窗口发送 EN_REQUESTRESIZE 通知代码。 |
EM_SELECTIONTYPE | 确定 Rich Edit 控件的选择类型。 |
EM_SETBIDIOPTIONS | 设置 Rich Edit 控件中双向选项的当前状态。 |
EM_SETBKGNDCOLOR | 设置 Rich Edit 控件的背景颜色。 |
EM_SETCHARFORMAT | 在 Rich Edit 控件中设置字符格式。 |
EM_SETCTFMODEBIAS | 设置 Rich Edit 控件的 TSF 模式偏差。 |
EM_SETCTFOPENSTATUS | 打开或关闭 TSF 键盘。 |
EM_SETEDITSTYLE | 设置当前编辑样式标志。 |
EM_SETEVENTMASK | 设置 Rich Edit 控件的事件掩模。 事件掩模会指定控件向其父窗口发送哪些通知代码。 |
EM_SETFONTSIZE | 设置所选文本的字体大小。 |
EM_SETHYPHENATEINFO | 设置 Rich Edit 控件执行连字符的方式。 |
EM_SETIMECOLOR | 设置 IME 合成颜色。 此消息仅适用于操作系统的亚洲语言版本。 |
EM_SETIMEMODEBIAS | 设置 Rich Edit 控件的 IME 模式偏差。 |
EM_SETIMEOPTIONS | 设置 IME 选项。 此消息仅适用于操作系统的亚洲语言版本。 |
EM_SETLANGOPTIONS | 在 Rich Edit 控件中设置 IME 和亚洲语言支持选项。 |
EM_SETOLECALLBACK | 为 Rich Edit 控件提供一个 IRichEditOleCallback 对象,控件会使用该对象从客户端获取与 OLE 相关的资源和信息。 |
EM_SETOPTIONS | 设置 Rich Edit控件的选项。 |
EM_SETPAGEROTATE | 已弃用。 设置 Rich Edit 控件的文本布局。 |
EM_SETPALETTE | 更改 Rich Edit 为其显示窗口使用的调色板。 |
EM_SETPARAFORMAT | 为 Rich Edit 控件中的当前选择设置段落格式。 |
EM_SETPUNCTUATION | 设置 Rich Edit 控件的标点符号。 此消息仅适用于操作系统的亚洲语言版本。 |
EM_SETSCROLLPOS | 告知 Rich Edit 控件滚动到某个特定点。 |
EM_SETTARGETDEVICE | 设置 Rich Edit 控件中“所见即所得”(WYSIWYG) 格式所使用的目标设备和行宽。 |
EM_SETTEXTEX | 结合 WM_SETTEXT 和 EM_REPLACESEL 的功能,并添加使用代码页设置文本以及使用富文本或纯文本的功能。 |
EM_SETTEXTMODE | 设置 Rich Edit 控件的文本模式或撤消级别。 如果控件中包含任何文本,则消息将失败。 |
EM_SETTYPOGRAPHYOPTIONS | 设置 Rich Edit 控件版式选项的当前状态。 |
EM_SETUNDOLIMIT | 设置可存储在撤消队列中的操作的最大操作数。 |
EM_SETWORDBREAKPROCEX | 设置扩展断字过程。 |
EM_SETWORDWRAPMODE | 设置 Rich Edit 控件的换行和断字选项。 此消息仅适用于操作系统的亚洲语言版本。 |
EM_SETZOOM | 将缩放比设置为 1/64 和 64 之间的任意位置。 |
EM_SHOWSCROLLBAR | 显示或隐藏“文本主机”窗口中的一个滚动条。 |
EM_STOPGROUPTYPING | 阻止控件将其他键入操作收集到当前撤消操作中。 控件将下一个键入操作(如果有)存储到撤消队列中的新操作中。 |
EM_STREAMIN | 通过应用程序定义的 EditStreamCallback 回调函数提供的数据流来替换 Rich Edit 控件的内容。 |
EM_STREAMOUT | 使 Rich Edit 控件将其内容传递给应用程序定义的 EditStreamCallback 回调函数。 然后,回调函数就可以将数据流写入文件或其选择的任何其他位置。 |
通知
主题 | 目录 |
---|---|
EN_ALIGNLTR | 通知 Rich Edit 控件的父窗口,段落方向已更改为从左向右。 Rich Edit 控件会以 WM\_COMMAND 消息的形式发送此通知代码。 |
EN_ALIGNRTL | 通知 Rich Edit 控件的父窗口,段落方向已更改为从右到左。 Rich Edit 控件会以 WM\_COMMAND 消息的形式发送此通知代码。 |
EN_CORRECTTEXT | 通知 Rich Edit 控件的父窗口发生 SYV_CORRECT 手势,从而让父窗口有机会取消更正文本。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_DRAGDROPDONE | 通知 Rich Edit 控件的父窗口拖放操作已完成。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_DROPFILES | 通知 Rich Edit 控件的父窗口,用户正在尝试将文件放入该控件中。 Rich Edit 控件在收到 WM_DROPFILES 消息时,会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_IMECHANGE | 通知 Rich Edit 控件的父级 IME 转换状态已更改。 此消息仅适用于操作系统的亚洲语言版本。 Rich Edit 控件会以 WM\_COMMAND 消息的形式发送此通知代码。 |
EN_LINK | 当用户单击鼠标或鼠标指针指向具有 CFE_LINK 效果的文本时,通知 Rich Edit 控件的父窗口。 控件的父窗口通过 WM_NOTIFY 来消息接收此通知代码。 |
EN_LOWFIRTF | 通知 Rich Edit 控件的父窗口收到不支持的富文本格式 (RTF) 关键字。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_MSGFILTER | 将控件中发生的键盘或鼠标事件通知 Rich Edit 控件的父窗口。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_OBJECTPOSITIONS | 当 Rich Edit 控件读入对象时,通知该控件的父窗口。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_OLEOPFAILED | 通知 Rich Edit 控件的父窗口,用户对 COM 对象的操作失败。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_PROTECTED | 通知 Rich Edit 控件的父窗口,用户正在执行更改受保护文本范围的操作。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_REQUESTRESIZE | 通知 Rich Edit 控件的父窗口,该控件的内容小于或大于控件的窗口大小。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_SAVECLIPBOARD | 通知 Rich Edit 控件的父窗口该控件正在关闭,且剪贴板中包含信息。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_SELCHANGE | 通知 Rich Edit 控件的父窗口当前的选择已更改。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
EN_STOPNOUNDO | 通知 Rich Edit 控件的父窗口发生了操作,而控件无法分配足够的内存来维持撤销状态。 Rich Edit 控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
结构
主题 | 目录 |
---|---|
BIDIOPTIONS | 包含有关 Rich Edit 控件的双向信息。 EM_GETBIDIOPTIONS 和 EM_SETBIDIOPTIONS 消息使用此结构来获取和设置控件的双向信息。 |
CHARFORMAT | 包含有关 Rich Edit 控件中字符格式的信息。 |
CHARFORMAT2 | 包含有关 Rich Edit 控件中字符格式的信息。 CHARFORMAT2 是 CHARFORMAT 结构的 Microsoft Rich Edit 2.0 扩展。 Microsoft Rich Edit 2.0 允许将任何一种结构与 EM_GETCHARFORMAT 和 EM_SETCHARFORMAT 消息一起使用。 |
CHARRANGE | 指定 Rich Edit 控件中的字符范围。 |
COMPCOLOR | 包含合成字符串的颜色设置。 |
EDITSTREAM | 包含应用程序在 EM_STREAMIN 或 EM_STREAMOUT 消息中传递给 Rich Edit 控件的信息。 Rich Edit 控件会使用这些信息将数据流传输到控件中或从控件中传出。 |
ENCORRECTTEXT | 包含要更正的选定文本的相关信息。 |
ENDROPFILES | 包含与 EN_DROPFILES 通知代码关联的信息。 Rich Edit 控件会在收到 WM_DROPFILES 消息时发送此通知代码。 |
ENLINK | 包含有关来自 Rich Edit 控件的 EN_LINK 通知代码的信息。 |
ENLOWFIRTF | 包含有关 Rich Edit 控件中不支持的 RTF 关键字的信息。 |
ENOLEOPFAILED | 包含有关操作失败的信息。 |
ENPROTECTED | 包含与 EN_PROTECTED 通知代码关联的信息。 当用户尝试编辑受保护的文本时,Rich Edit 控件会发送此通知。 |
ENSAVECLIPBOARD | 包含有关剪贴板上的对象和文本的信息。 |
FINDTEXT | 包含有关 Rich Edit 控件中搜索操作的信息。 此结构与 EM_FINDTEXT 消息一起使用。 |
FINDTEXTEX | 包含有关要在 Rich Edit 控件中搜索的文本的信息。 此结构与 EM_FINDTEXTEX 消息一起使用。 |
FORMATRANGE | 包含 Rich Edit 控件用于格式化特定设备输出的信息。 此结构与 EM_FORMATRANGE 消息一起使用。 |
GETTEXTEX | 包含有关从 Rich Edit 控件获取文本的操作的信息。 此结构在 EM_GETTEXTEX 消息的 wParam 中传递。 |
GETTEXTLENGTHEX | 包含有关如何计算 Rich Edit 控件文本长度的信息。 此结构在 EM_GETTEXTLENGTHEX 消息的 wParam 中传递。 |
HYPHENATEINFO | 包含有关 Rich Edit 控件中连字符的信息。 |
HYPHRESULT | 包含有关 Rich Edit 控件中连字符输入结果的信息。 |
IMECOMPTEXT | 包含有关 Rich Edit 控件中合成文本的信息。 |
MSGFILTER | 包含键盘或鼠标事件的相关信息。 Rich Edit 控件会将此结构作为 EN_MSGFILTER 通知代码的一部分发送到其父窗口,从而使父窗口可以更改信息或阻止信息的处理。 |
OBJECTPOSITIONS | 包含对象位置信息。 |
PARAFORMAT | 包含有关 Rich Edit 控件中段落格式属性的信息。 此结构与 EM_GETPARAFORMAT 和 EM_SETPARAFORMAT 消息一起使用。 |
PARAFORMAT2 | 包含有关 Rich Edit 控件中段落格式属性的信息。 |
PUNCTUATION | 包含有关 Rich Edit 控件中使用的标点符号的信息。 |
REOBJECT | 包含有关对象的信息。 |
REPASTESPECIAL | 包含用于标识粘贴对象的显示方面是基于对象内容还是代表对象的图标的信息。 |
REQRESIZE | 包含请求的 Rich Edit 控件大小。 Rich Edit 控件会将此结构作为 EN_REQUESTRESIZE 通知代码的一部分发送到其父窗口。 |
SELCHANGE | 包含与 EN_SELCHANGE 通知代码关联的信息。 如果当前选择发生变化,Rich Edit 控件会向其父窗口发送此通知。 |
SETTEXTEX | 指定在设置文本时使用哪个代码页(如有),文本是替换控件中的所有文本还是只替换选中的文本,以及是否保留撤消状态。 |
TEXTRANGE | 从 Rich Edit 控件接收一系列文本。 此结构由 EM_GETTEXTRANGE 消息填充。 lpstrText 成员指向的缓冲区必须足够大,以便接收所有字符和结束符 null 字符。 |
常量
主题 | 目录 |
---|---|
Rich Edit 控件事件掩模标志 | 事件掩模会指定 Rich Edit 控件向其父窗口发送哪些通知代码。 |
Rich Edit 控件样式 | 描述 Rich Edit 控件特有的窗口样式。 |