C R ichEditC trl

文 本 可 以 是 字 母 或 段 落 格 式 , 也 可 以 包 括 嵌 入 的 OLE 对 象 。 带 格 式 编 辑 控 件为 格 式 化 文 本 提 供 了 设 计 界 面 。 但 是 , 应 用 程 序 必 须 实 现 需 要 的 用 户 部 件 , 以使 格 式 化 操 作 对 用 户 来 说 可 用 。

CRichEditCntr 类 提 供 了 带 格 式 编 辑 控 件 的 功 能 。 这 个 W indows 通 用 控 件 ( 也就 是 CRichEditC trl 类 ) 只 对 于 运 行 在 W indow95 和 W indows NT 3.51 及 更 新 版本 下 的 程 序 是 可 用 的 。

重 点 如 果 你 正 在 使 用 一 个 对 话 框 中 的 带 格 式 编 辑 控 件 ( 不 管 你 的 应 用程 序 是 SDI , MDI , 或 是 基 于 对 话 框 的 ) , 你 必 须 在 显 示 该 对 话 框 之 前 调用 AfxInitRichEdit 一 次 。 通 常 是 在 你 的 应 用 程 序 的 IniInstance 成 员函 数 中 调 用 这 个 函 数 。 你 不 用 在 每 一 次 显 示 这 个 对 话 框 的 时 候 都 调 用 此AfxInitRichEdit 函 数 , 只 要 在 第 一 次 时 调 用 它 就 可 以 了 。 如 果 你 是 在

使 用 CRichEditView , 则 不 用 调 用 AfxInitRichEdit 。

有 关 在 一 个 MFC 应 用 程 序 中 使 用 带 格 式 编 辑 容 器 项 的 例 子 ,请 参 见 WORDPAD

示 例 应 用 程 序 。

#include <afxcmn.h>

请 参 阅 C Edit, CRichEditView

CR ichEditC trl 类 成 员

Construction

CrichEditCtrl 构 造 一 个 CRichEditCtrl 对 象

Create 创 建 W indows 带 格 式 编 辑 控 件 并 将 它 与 这 个

CRichEditCtrl 对 象 相 联 系

GetLineCount 获 取 这 个 CRichEditCtrl 对 象 中 的 行 数 目GetLine 从 这 个 CRichEditCtrl 对 象 中 获 取 一 行 文 本GetFirstVisibleLine 确 定 这 个 CRichEditCtrl 对 象 的 最 上 面 的 可 见 行

LineIndex 获 取 此 CRichEditCtrl 对 象 中 一 个 给 定 行 的 字 符 索

LineFromChar 确 定 是 哪 一 行 包 含 了 给 定 字 符

LineLength 获 取 此 CRichEditCtrl 对 象 中 的 给 定 行 的 长 度

LineScroll 在 此 CRichEditCtrl 对 象 中 滚 动 文 本

Selection Operations

GetSel 获 取 此 CRichEditCtrl 对 象 中 的 当 前 选 择 的 开 始 和结 束 位 置

GetSelText 获 取 此 CRichEditCtrl 对 象 中 的 当 前 选 择 的 文 本

GetSelectionType 获 取 此 CRichEditCtrl 对 象 中 的 当 前 选 择 中 内 容 的

类 型

Clear 清 除 当 前 选 择

SetSel 设 置 此 CRichEditCtrl 对 象 中 的 选 择

ReplaceSel 用 指 定 的 文 本 替 换 此 CRichEditCtrl 对 象 中 的 当 前

选 择

HideSelection 显 示 或 隐 藏 当 前 的 选 择

GetDefaultCharForma t

GetSelectionCharFor mat

获 取 此 CRichEditCtrl 对 象 中 当 前 缺 省 的 字 符 格 式属 性

获 取 此 CRichEditCtrl 对 象 中 当 前 选 择 的 字 符 格 式属 性

GetParaFormat 获 取 此 CRichEditCtrl 对 象 中 的 当 前 选 择 的 段 落 格

式 属 性

SetDefaultCharFormat 设 置 此 CRichEditCtrl 对 象 中 的 当 前 缺 省 字 符 格 式

的 属 性

SetSelectionCharForm at

设 置 此 CRichEditCtrl 对 象 中 当 前 选 择 的 字 符 格 式属 性

SetWordCharFormat 设 置 此 CRichEditCtrl 对 象 中 的 当 前 单 词 的 字 符 格

式 属 性

SetParaFormat 设 置 此 CRichEditCtrl 对 象 中 的 当 前 选 择 的 段 落 格

式 属 性

EditingOperation s Undo 取 消 最 后 一 次 编 辑 操 作

CanUndo 确 定 是 否 可 以 取 消 一 次 编 辑 操 作

EmptyUndoBuffer 重 置 ( 清 除 ) 此 CRichEditCtrl 对 象 的 取 消 标 志

StreamIn 将 来 自 一 个 输 入 流 的 文 本 插 入 此 CRichEditCtrl 对象 中

StreamOut 将 来 自 此 CRichEditCtrl 对 象 的 文 本 保 存 到 输 出 流

General Operations

GetModify 确 定 在 最 后 一 次 保 存 后 此 CRichEditCtrl 对 象 的 内容 是 否 已 经 被 改 变 了

SetModify 为 这 个 CRichEditCtrl 对 象 设 置 或 清 除 修 改 标 志

FindText 在 这 个 CRichEditCtrl 对 象 中 定 位 文 本

GetRect 为 此 CRichEditCtrl 对 象 获 取 格 式 化 矩 形

SetRect 为 此 CRichEditCtrl 对 象 设 置 格 式 化 矩 形

GetCharPos 确 定 此 CRichEditCtrl 对 象 中 的 一 个 给 定 字 符 的 位

SetOptions 为 这 个 CRichEditCtrl 对 象 设 置 选 项SetReadOnly 为 这 个 CRichEditCtrl 对 象 设 置 只 读 选 项GetTextLength 获 取 此 CRichEditCtrl 对 象 中 的 文 本 的 长 度

GetLimitText 获 取 一 个 用 户 可 以 输 入 这 个 CrichEditCtrl 对 象 的

文 本 数 量 的 限 制

Lim itText 限 制 一 个 用 户 可 以 输 入 此 CRichEditCtrl 对 象 的 文本 数 量

GetEventMask 获 取 此 CRichEditCtrl 对 象 的 事 件 掩 码SetEventMask 设 置 此 CRichEditCtrl 对 象 的 事 件 掩 码RequestResize 强 迫 此 CRichEditCtrl 对 象 发 送 请 求 改 变 大 小 的 通

SetBackgroundColor 设 置 此 CRichEditCtrl 对 象 中 的 背 景 颜 色SetTargetDevice 设 置 此 CRichEditCtrl 对 象 的 目 标 输 出 设 备FormatRange 为 目 标 输 出 设 备 格 式 化 一 个 文 本 范 围

DisplayBand 显 示 此 CRichEditCtrl 对 象 的 一 部 分 内 容

Clipboar d Operation s Copy 将 当 前 选 项 拷 贝 到 剪 贴 板 上

Cut 将 存 取 选 择 剪 下 到 剪 贴 板 上

Paste 剪 贴 板 上 的 内 容 插 入 到 此 带 格 式 编 辑 控 件 中

PasteSpecial 将 剪 贴 板 上 的 内 容 按 指 定 的 数 据 格 式 插 入 到 此 带

格 式 编 辑 控 件 中

CanPaste 确 定 剪 贴 板 上 的 内 容 是 否 可 以 粘 贴 到 此 带 格 式 编辑 控 件 中

OLE Operations

GetIRichEditOle 为 此 带 格 式 编 辑 控 件 获 取 一 个 直 线 IrichEditOle

接 口 的 指 针

SetOLECallback 为 此 带 格 式 编 辑 控 件 设 置 I richEditOleCallback

COM 对象

成 员 函 数

CR ichEditCtrl::CanPaste

BOOL CanPaste( UINT nFormat = 0 ) const;

返 回 值

如 果 剪 贴 板 的 格 式 可 以 被 粘 贴 , 则 返 回 非 零 值 ; 否 则 返 回 0 。

nFormat

要 查 询 的 剪 贴 板 数 据 格 式 。 此 参 数 是 某 个 预 定 义 的 剪 贴 板 格 式 , 或 是 由

RegisterClip- boardFormat 返 回 的 值 。

说 明

此 成 员 函 数 用 来 确 定 一 个 带 格 式 编 辑 控 件 是 否 可 以 粘 贴 指 定 的 剪 贴 板 格 式 。 如果 nFormat 是 0 , CanPaste 将 尝 试 当 前 剪 贴 板 中 的 任 何 格 式 。

请 参 阅 C RichEditCtrl::Paste, CRichEditCtrl::PasteSpecial

CR ichEditCtrl::CanUndo

BOOL CanUndo( ) const;

如 果 最 后 一 次 编 辑 操 作 可 以 被 通 过 调 用 Undo 成 员 函 数 来 取 消 , 则 返 回 非 零 值 ; 否 则 , 如 果 不 能 取 消 , 则 返 回 0 。

说 明

此 成 员 函 数 用 来 确 定 最 后 一 次 编 辑 操 作 是 否 可 以 被 取 消 。更 多 信 息 , 请 参 见 W in32 文 档 中 的 EM_CAUNDO 。

请 参 阅 C RichEditCtrl::Undo, CRichEditCtrl::EmptyUndoBuffer

CR ichEditCtrl::Clear

void Clear( );

此 成 员 函 数 用 来 删 除 ( 清 除 ) 带 格 式 编 辑 控 件 中 的 当 前 选 择 ( 如 果 有 的 话 ) 。由 Clear 执 行 的 删 除 , 可 以 通 过 调 用 Undo 成 员 函 数 来 取 消 。

要 删 除 当 前 的 选 择 , 并 将 其 作 为 剪 贴 板 的 内 容 , 可 以 调 用 Cut 成 员 函 数 。更 多 的 信 息 , 请 参 见 Win32 文 档 中 的 W M _CLEAR 。

请 参 阅 CRichEditCtrl::Undo, CRichEditCtrl::Cut, CRichEditCtrl::Copy, CRichEditCtrl::Paste

CR ichEditCtrl::Copy

void Copy( );

此 成 员 函 数 用 来 将 带 格 式 编 辑 控 件 中 的 当 前 选 择 ( 如 果 有 的 话 ) 拷 贝 到 剪 贴 板中 。

更 多 的 信 息 , 请 参 见 Win32 文 档 中 的 W M _COPY 。

请 参 阅 CRichEditCtrl::Paste, CRichEditCtrl::Cut

CR ichEditCtrl::Create

BOOL Create( DWORD dwStyle , const RECT& rect , CWnd* pParentWnd , UINT

nID );

返 回 值

如 果 初 始 化 成 功 , 则 返 回 非 零 值 ; 否 则 返 回 0 。

dwStyl e

指 定 编 辑 控 件 的 风 格 。 可 以 将 编 辑 风 格 的 任 何 组 合 应 用 到 此 控 件 。

rect

指 定 编 辑 控 件 的 大 小 和 位 置 。 它 可 以 是 一 个 CRect 对 象 或 RECT 结 构 。

pParentWnd

指 定 编 辑 控 件 的 父 窗 口 ( 通 常 是 一 个 CDialog) 。 它 不 能 是 NULL 。

nID

指 定 编 辑 控 件 的 ID 。

说 明

分 两 步 来 构 造 一 个 CRichEditCtrl 对 象 。 首 先 , 调 用 CRichEditCtrl 构 造 函 数 , 然 后 调 用 Create , 该 函 数 创 建 Windows 编 辑 控 件 并 将 其 连 接 到 CRichEditCtrl

对 象 上 。

当 你 用 这 个 函 数 来 创 建 一 个 带 格 式 编 辑 控 件 时 , 首 先 你 必 须 加 载 必 须 的 通 用 控件 库 。 为 了 加 载 此 库 , 可 以 调 用 全 局 函 数 AfxInitRichEdit, 它 将 按 顺 序 初 始 化通 用 控 件 库 。 在 你 的 进 程 中 你 只 需 要 调 用 AfxInitRichEdit 一 次 。

当 执 行 Create 时 , Windows 发 送 WM_NCCREATE , WM_NCCALCSIZE ,

WM_CREATE , 和 WM_GETMINMAXINFO 消 息 给 这 个 编 辑 控 件 。

缺 省 的 , 这 些 消 息 由 CWnd 基 类 中 的 OnNcCreate , OnNcCalcSize , OnCreate , 和 OnGetMinMaxInfo 成 员 函 数 来 处 理 。 为 了 扩 展 这 些 缺 省 的 消 息 处 理 , 可 以 从CRichEditCtrl 派 生 一 个 类 , 向 此 新 类 中 添 加 一 个 消 息 映 射 , 并 重 载 上 述 消 息 处理 成 员 函 数 。 例 如 , 重 载 OnCreate 来 为 新 类 实 现 需 要 的 初 始 化 。

可 以 将 下 列 的 窗 口 风 格 应 用 到 一 个 编 辑 控 件 上 。

  • WS_CHILD 总 是 使 用 。

  • WS_VISIBLE 经 常 使 用 。

  • WS_DISABLED 很 少 使 用 。

  • WS_GROUP 可 用 于 成 组 控 件 。

  • WS_TABSTOP 将 编 辑 控 件 包 括 在 TABLE 键 的 顺 序 中 。

请 参 阅 C RichEditCtrl::CRichEditCtrll

CR ichEditCtrl::CRichEditCtrl

CRichEditCtrl( );

说 明

此 成 员 函 数 用 来 构 造 一 个 CRichEditCtrl 对 象 。 使 用 Create 来 构 造 W indows 带格 式 编 辑 控 件 。

请 参 阅 C RichEditCtrl::Create

CR ichEditCtrl::Cut

void Cut();

说 明

此 成 员 函 数 用 来 删 除 ( 剪 切 ) 带 格 式 编 辑 控 件 中 的 当 前 选 择 ( 如 果 有 ) , 并 将其 拷 贝 到 剪 贴 板 中 。

用 Cut 执 行 的 删 除 可 以 通 过 调 用 Undo 成 员 函 数 来 取 消 。

要 删 除 当 前 的 选 择 而 又 不 将 被 删 除 的 内 容 放 到 剪 贴 板 中 , 可 以 调 用 Clear 成 员函 数 。

更 多 的 信 息 , 请 参 见 Win32 文 档 中 的 W M _CUT 。

请 参 阅 C RichEditCtrl::Copy, CRichEditCtrl::Undo, CRichEditCtrl::Clear

CR ichEditCtrl::DisplayBand

BOOL DisplayBand( LPRECT pDisplayRect );

返 回 值

如 果 显 示 格 式 化 文 本 成 功 , 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

pDisplayRect

指 向 一 个 RECT 或 CRect 对 象 的 指 针 , 用 来 指 定 显 示 文 本 的 设 备 的 区 域 。

说 明

此 成 员 函 数 用 来 显 示 带 格 式 编 辑 控 件 的 内 容 ( 文 本 和 OLE 项 ) 的 一 部 分 , 用

前 面 的 FormatRange 指 定 的 格 式 。 文 本 和 OLE 项 被 粘 贴 到 由 pDisplayRect 指针指 定 的 区 域 。

更 多 的 信 息 , 请 参 见 Win32 文 档 中 的 W M _ D ISPLAYBAND 。

请 参 阅 C RichEditCtrl::FormatRange

CR ichEditCtrl::EmptyUndoBuffer

void EmptyUndoBuffer();

说 明

此 成 员 函 数 用 来 重 置 此 带 格 式 编 辑 控 件 的 undo 标 志 。 此 时 控 件 将 不 能 取 消 最后 一 次 编 辑 操 作 。 无 论 什 么 时 候 当 带 格 式 编 辑 控 件 中 的 一 项 操 作 是 可 以 被 取 消的 时 , 取 消 标 志 就 被 设 置 。

当 你 调 用 CWnd 的 成 员 函 数 SetWindowText 时 , 取 消 标 志 被 自 动 清 除 。更 多 的 信 息 , 请 参 见 Win32 文 档 中 的 E M_EMPTYUNDOBUFFER 。

请 参 阅 C RichEditCtrl::CanUndo ,CRichEditCtrl::Undo, CWnd::SetWindowText

CR ichEditCtrl::FindText

long FindText( DWORD dwFlag s, FINDTEXTEX* pFindText ) const;

返 回 值

返 回 下 一 次 匹 配 的 从 零 开 始 的 字 符 位 置 ; 如 果 没 有 匹 配 则 返 回 -1 。

参 数

dwFlags

匹 配 标 准 的 标 志 。 可 以 是 下 列 值 的 零 个 或 多 个 :

  • FR_MATCHCASE 指 明 查 找 是 大 小 写 敏 感 的 。

  • FR_WHOLEWORD 指 明 在 查 找 中 要 考 虑 单 词 的 边 界 。

pFindText

指 向 一 个 FINDTEXTEX 结 构 的 指 针 , 该 结 构 给 出 了 用 于 查 找 的 参 数 并返 回 找 到 匹 配 的 范 围 。

说 明

此 成 员 函 数 用 来 在 带 格 式 编 辑 控 件 中 查 找 文 本 。 你 可 以 通 过 在 FINDTEXTEX

结 构 中 设 置 CHARRANGE 中 的 适 当 范 围 参 数 来 进 行 向 上 或 向 下 搜 索 。

更 多 的 信 息 , 请 参 见 W in32 文 档 中 的 EM_FINDTEXTEX 消 息 和 FINDTEXTEX

结 构 。

请 参 阅 C RichEditCtrl::SetSel

CR ichEditCtrl::FormatRange

long FormatRange( FORMATRANGE* pfr , BOOL bDisplay = TRUE );

返 回 值

返 回 值 为 适 应 该 区 域 的 最 后 一 个 字 符 的 索 引 再 加 1 。

参 数

pfr

指 向 FORMATRANGE 结 构 的 指 针 , 该 结 构 包 含 了 有 关 输 出 设 备 的 信 息 。如 果 是 NULL , 则 表 明 此 带 格 式 编 辑 控 件 中 的 高 速 缓 存 中 的 信 息 可 以 释放 了 。

bDisplay

指 示 是 否 应 该 提 交 文 本 。 如 果 是 FALSE , 则 表 明 文 本 正 好 是 适 量 的 。

此 成 员 函 数 用 来 为 一 个 指 定 的 设 备 格 式 化 一 个 带 格 式 编 辑 控 件 中 的 一 定 范 围 的文 本 。 通 常 , 在 调 用 这 个 函 数 之 后 会 调 用 DisplayBand 。

更 多 的 信 息 , 请 参 见 W in32 文 档 中 的 EM_FORMATRANGE 消 息 和

FORMATRANGE 结 构 。

请 参 阅 C RichEditCtrl::DisplayBand

CR ichEditCtrl::GetCharPos

CPoint GetCharPos( long lChar ) const;

返 回 值

返 回 由 lChar 指 定 的 字 符 的 左 上 角 的 位 置 。

lChar

字 符 的 从 零 开 始 的 索 引 。

说 明

此 成 员 函 数 用 来 获 取 在 一 个 C RichEditCtrl 对 象 内 的 给 定 字 符 的 位 置( 左 上 角 )。该 字 符 由 给 出 的 它 的 从 零 开 始 的 索 引 指 定 。 如 果 lChar 大 于 此 C RichEditCtrl 对象 中 的 最 后 一 个 字 符 的 索 引 , 则 返 回 值 指 示 的 坐 标 是 此 C RichEditCtrl 对 象 中 刚好 超 过 其 最 后 一 个 字 符 的 位 置 的 坐 标 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_POSFROMCHAR .。

请 参 阅 C RichEditCtrl::FindText

CR ichEditCtrl::GetDefaultCharFormat

DWORD GetDefaultCharFormat( CHARFORMAT& cf ) const;

返 回 值

返 回 cf 的 dwMask 数 据 成 员 。 它 指 定 了 缺 省 的 字 符 格 式 化 属 性 。

参 数

cf

指 向 一 个 CHARFORMAT 结 构 的 指 针 , 该 结 构 将 包 含 缺 省 的 字 符 格 式 化

属 性 。

说 明

此 成 员 函 数 用 来 获 取 此 C RichEditCtrl 对 象 的 缺 省 的 字 符 格 式 化 属 性 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETCHARFORMAT 消 息 和

CHARFORMAT 结 构 。

请 参 阅 C RichEditCtrl::SetDefaultCharFormat, CRichEditCtrl::GetSelectionCharFormat,

CRichEditCtrl::GetParaFormat

CR ichEditCtrl::GetEventMask

long GetEventMask() const;

返 回 值

返 回 此 C RichEditCtrl 对 象 的 事 件 掩 码 。

说 明

此 成 员 函 数 用 来 获 取 此 C RichEditCtrl 对 象 的 事 件 掩 码 。 这 个 事 件 掩 码 指 定 了 此

C RichEditCtrl 对 象 要 将 哪 一 个 消 息 发 送 给 它 的 父 窗 口 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETEVENTMASK 。

请 参 阅 C RichEditCtrl::SetEventMask, CRichEditCtrl::CRichEditCtrl

CR ichEditCtrl::GetFirstVisibleLine

int GetFirstVisibleLine() const;

返 回 值

返 回 此 C RichEditCtrl 对 象 中 的 最 顶 上 的 可 见 行 的 从 零 开 始 的 索 引 。

说 明

此 成 员 函 数 用 来 确 定 此 C RichEditCtrl 对 象 中 的 最 顶 上 的 可 见 行 。更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETFIRSTVISIBLELIN E。

CR ichEditCtrl::GetIRichEditOle IRichEditOle* GetIRichEditOle( ) const; 返 回 值

返 回 指 向 IRichEditOle 接 口 的 指 针 ,该 接 口 用 来 访 问 此 C RichEditCtrl 对 象 的 OLE

机 能 ; 如 果 接 口 不 能 被 访 问 , 则 返 回 的 是 NULL 。

说 明

此 成 员 函 数 用 来 访 问 此 C RichEditCtrl 对 象 的 IR ic hEditOle 接 口 。 使 用 此 接 口 可以 访 问 这 个 C RichEditCtrl 对 象 的 OLE 机 能 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETOLEINTERFACE 消 息 和

请 参 阅 C RichEditCtrl::SetOLECallback

CR ichEditCtrl::GetLimitText

long GetLimitText( ) const;

返 回 值

返 回 此 C RichEditCtrl 对 象 的 以 字 节 表 示 的 文 本 限 制 。

说 明

此 成 员 函 数 用 来 获 取 这 个 RichEditCtrl 对 象 的 文 本 限 制 。 文 本 限 制 是 指 带 格 式编 辑 控 件 可 以 接 收 的 以 字 节 表 示 的 最 大 的 文 本 数 量 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETLIMITTEXT 。

CR ichEditCtrl::GetLine

int GetLine( int nIndex , LPTSTR lpszBuffer ) const;

int GetLine( int nIndex , LPTSTR lpszBuffer , int nMaxLength ) const;

返 回 值

返 回 要 被 拷 贝 到 lpszBuffer 中 去 的 字 符 数 。

参 数

nIndex

要 获 取 的 行 的 从 零 开 始 的 索 引 。

lpszBuffer

指 向 用 来 接 收 文 本 的 缓 冲 区 。 缓 冲 区 中 的 第 一 个 单 词 必 须 指 定 可 以 被 拷

贝 到 缓 冲 区 中 去 的 最 大 的 字 节 数 目 。

nMaxLength

可 以 被 拷 贝 到 lpszBuffer 中 去 的 最 大 的 字 符 数 。 GetLine 的 第 二 种 格 式 将这 个 值 放 在 由 lpszBuffer 指 定 的 缓 冲 区 的 第 一 个 单 词 中 。

说 明

此 成 员 函 数 用 来 从 此 C RichEditCtrl 对 象 中 获 取 一 行 文 本 。 此 拷 贝 的 行 不 包 含 用于 结 尾 的 空 字 符 。

注 意 因 为 此 缓 冲 区 的 第 一 个 单 词 保 存 了 要 被 拷 贝 的 字 符 数 目 , 所 以 必须 确 保 你 的 缓 冲 区 至 少 有 4 字 节 长 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETLIN E。

请 参 阅 C RichEditCtrl::LineLength

CR ichEditCtrl::GetLineCount

int GetLineCount( ) const;

返 回 值

返 回 此 C RichEditCtrl 对 象 中 的 行 数 。

说 明

此 成 员 函 数 用 来 获 取 C RichEditCtrl 对 象 中 的 行 数 。

更 多 信 息 , 请 参 见 W in32 文 档 中 的 EM_GETLINELOUNT 。

请 参 阅 C RichEditCtrl::GetLine

CR ichEditCtrl::GetModify

BOOL GetModify( ) const;

返 回 值

如 果 此 CRichEditCtrl 对 象 中 的 文 本 被 修 改 了 , 则 返 回 非 零 值 ; 否 则 返 回 0 。

说 明

此 成 员 函 数 用 来 确 定 CRichEditCtrl 对 象 中 的 内 容 是 否 被 修 改 了 。

W indows 保 持 一 个 内 部 标 志 来 表 明 带 格 式 编 辑 控 件 中 的 内 容 是 否 被 改 变 了 。 当编 辑 控 件 第 一 次 被 创 建 时 , 这 个 标 志 被 清 零 , 也 可 以 通 过 调 用 SetModify 成 员函 数 来 清 零 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETMODIFY 。

请 参 阅 CRichEditCtrl::SetModify

CR ichEditCtrl::GetParaFormat

DWORD GetParaFormat( PARAFORMAT& pf ) const;

返 回 值

返 回 pf 的 数 据 成 员 dwMask 。 它 指 定 在 整 个 当 前 选 择 中 一 致 的 段 落 格 式 化 属 性 。

参 数

pf

指 向 一 个 PARAFORMAT 结 构 的 指 针 , 该 结 构 包 含 了 当 前 选 择 的 段 落 格 式

化 属 性 。

说 明

此 成 员 函 数 用 来 获 取 当 前 选 择 的 段 落 格 式 化 属 性 。 如 果 选 择 的 不 止 一 段 , pf

收 的 是 第 一 个 被 选 择 段 的 属 性 。 返 回 值 指 明 了 在 整 个 当 前 选 择 中 一 致 的 属 性 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETPARAFORMAT 消 息 和

PARAFORMAT 结 构 。

请 参 阅 CRichEditCtrl::SetParaFormat, CRichEditCtrl::GetSelectionCharFormat

CR ichEditCtrl::GetRect

void GetRect( LPRECT lpRect ) const;

参 数

lpRect

是 CRect 或 指 向 一 个 RECT 的 指 针 , 用 来 接 收 此 CRichEditCtrl 对 象 的 格 式化 矩 形 。

说 明

此 成 员 函 数 用 来 获 取 此 CRichEditCtrl 对 象 的 格 式 化 矩 形 。 格 式 化 矩 形 是 文 本 的边 界 矩 形 。 这 个 值 不 依 赖 RichEditCtrl 对 象 的 大 小 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETRECT 。

请 参 阅 CRichEditCtrl::SetRect

CR ichEditCtrl::GetSel

void GetSel( CHARRANGE& cr ) const;

void GetSel( long& nStartCha r, long& nEndChar ) const;

参 数

cr

对 一 个 CHARRANGE 结 构 的 引 用 , 该 结 构 用 来 接 收 当 前 选 择 的 界 线 。

nStartChar

当 前 选 择 中 的 第 一 个 字 符 的 从 零 开 始 的 索 引 。

nEndChar

当 前 选 择 中 的 最 后 一 个 字 符 的 从 零 开 始 的 索 引 。

说 明

此 成 员 函 数 用 来 获 取 在 此 CRichEditCtrl 对 象 中 的 当 前 选 择 的 界 线 。

这 个 函 数 的 两 种 形 式 提 供 了 用 来 获 取 选 择 的 界 线 的 两 种 可 相 互 替 代 的 方 法 。 下面 就 是 这 些 形 式 的 简 单 描 述 :

  • GetSel( c r ) 这 种 形 式 使 用 CHARRANGE 结 构 的 cpMin 和 cpMax

    成 员 来 返回 界 线 。

  • GetSel( nStartCha r, nEndCha r ) 这 种 形 式 使 用 参 数

    nStartCharnEndChar

来 返 回 界 线 。

如 果 开 始 值 ( cpMin 或 nStartCha r) 是 0 , 而 结 尾 值 ( cpMax 或 nEndCha r ) 是 - 1 , 则 选 择 包 括 了 所 有 的 文 本 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_EXGETSEL 消 息 和 CHARRANGE 结构 。

请 参 阅 CRichEditCtrl::SetSel, CRichEditCtrl::GetSelText, CRichEditCtrl::GetParaFormat,

CRichEditCtrl::GetSelectionCharFormat

CR ichEditCtrl::GetSelectionCharFormat

DWORD GetSelectionCharFormat( CHARFORMAT& cf ) const;

返 回 值

返 回 cf 的 dwMask 数 据 成 员 。 它 指 定 了 在 整 个 当 前 选 择 中 都 一 致 的 字 符 格 式 化

属 性 。

参 数

cf

这 是 一 个 CHARFORMAT 结 构 的 指 针 , 该 结 构 用 来 接 收 当 前 选 择 的 字 符

格 式 化 属 性 。

说 明

此 成 员 函 数 用 来 获 取 当 前 选 择 的 字 符 格 式 化 属 性 。 参 数 cf 接 收 当 前 选 择 中 的 第一 个 字 符 的 属 性 。 返 回 值 指 明 了 在 整 个 当 前 选 择 中 都 一 致 的 属 性 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_GETCHARFORMAT 消 息 和

CHARFORMAT 结 构 。

请 参 阅 CRichEditCtrl::GetDefaultCharFormat, CRichEditCtrl::GetParaFormat,

C RichEditCtrl::SetSelectionCharFormat, CRichEditCtrl::GetSelText

CR ichEditCtrl::GetSelectionType WORD GetSelectionType( ) const; 返 回 值

返 回 表 明 当 前 选 择 内 容 的 标 志 。 它 可 以 是 下 列 标 志 的 组 合 :

  • SEL_EMPTY 表 明 没 有 当 前 选 择 。

  • SEL_TEXT 表 明 当 前 选 择 包 含 文 本 。

  • SEL_OBJECT 表 明 当 前 选 择 至 少 包 含 了 一 个 OLE 项 。

  • SEL_MULTICHAR 表 明 当 前 选 择 包 含 了 不 止 一 个 字 符 的 文 本

  • SEL_MULTIOBJECT 表 明 当 前 选 择 包 含 了 不 止 一 个 OLE 项。

说 明

此 成 员 函 数 用 来 确 定 此 CRichEditCtrl 对 象 中 的 选 择 的 类 型 。更 多 的 信 息 , 参 见 W in32 中 的 EM_SELECTIONTYPE 。

请 参 阅 C RichEditCtrl::GetSel, CRichEditCtrl::GetSelText

CR ichEditCtrl::GetSelText

long GetSelText( LPTSTR lpBuf ) const; CString GetSelText( ) const;

返 回 值

返 回 值 决 定 于 函 数 的 形 式 :

  • GetSelText( lpBu f) 返 回 要 拷 贝 到 lpBuf 中 去 的 字 符 数 ,

    不 包 括 结 尾 的 空 字

符 。

  • GetSelText( ) 返 回 包 含 当 前 选 择 的 字 符 串 。

参 数

lpBuf

指 向 用 来 接 收 当 前 选 择 中 的 文 本 的 缓 冲 区 的 指 针 。

说 明

此 成 员 函 数 用 来 接 收 来 自 CRichEditCtrl 对 象 中 当 前 选 择 的 文 本 。

如 果 你 使 用 第 一 种 形 式 GetSelText( lpBu f) , 则 你 必 须 保 证 缓 冲 区 对 于 将 要 接 收的 文 本 来 说 足 够 大 。 调 用 GetSel 来 确 定 当 前 选 择 中 的 字 符 数 。

更 多 的 信 息 , 参 见 W in32 文 档 中 EM_GETSELTEX T 。

请 参 阅 CRichEditCtrl::GetSel, CRichEditCtrl::GetSelectionType

CR ichEditCtrl::GetTextLength

long GetTextLength();

返 回 值

返 回 此 CRichEditCtrl 对 象 中 的 文 本 的 长 度 。

说 明

此 成 员 函 数 用 来 获 取 此 CRichEditCtrl 对 象 中 的 文 本 的 长 度 。更 多 的 信 息 , 参 见 W in32 文 档 中 EM_GETTEXTLENGTH 。 请 参 阅 CRichEditCtrl::LimitText, CRichEditCtrl::GetLimitText

CR ichEditCtrl::HideSelection

void HideSelection( BOOL bHide , BOOL bPerm );

参 数

bHide

表 明 是 要 显 示 还 是 要 隐 藏 选 择 , 如 果 是 TRUE 就 是 要 隐 藏 选 择 。

bPerm

表 明 有 关 这 个 选 择 的 可 见 性 的 改 变 是 否 是 永 久 的 。

说 明

此 成 员 函 数 用 来 改 变 此 选 择 的 可 见 性 。

pPerm 是 TRUE 时 , 则 函 数 改 变 此 CRichEditCtrl 对 象 的 ECO_NOHIDESEL

选 项 。 有 关 这 个 选 项 的 简 短 描 述 , 参 见 SetOptions 。 可 以 使 用 此 函 数 来 设 置

CRichEditCtrl 对 象 的 所 有 选 项 。

更 多 的 信 息 , 参 见 W in32 文 档 的 EM_HIDESELECTION 。

请 参 阅 CRichEditCtrl::SetSel, CRichEditCtrl::GetSelectionType

CR ichEditCtrl::LimitText

void LimitText( long nChars = 0 );

参 数

nChars

指 定 用 户 可 输 入 的 文 本 的 长 度 ( 以 字 节 表 示 ) 。 如 果 这 个 常 数 是 0 , 则文 本 的 长 度 被 设 置 为 UINT_MAX 字 节 。 这 是 缺 省 的 行 为 。

说 明

此 成 员 函 数 用 来 限 制 用 户 可 以 输 入 到 一 个 编 辑 控 件 中 的 文 本 的 长 度 。

改 变 这 个 文 本 限 制 只 会 约 束 用 户 可 以 输 入 的 文 本 。 它 对 编 辑 控 件 中 已 经 存 在 的文 本 是 没 有 影 响 的 , 它 也 不 影 响 通 过 调 用 CWnd 中 的 SetWindowText 函 数 拷 贝到 编 辑 控 件 中 去 的 文 本 的 长 度 。 如 果 一 个 应 用 程 序 要 用 SetWindowText 函 数 来将 比 在 LimiText 中 指 定 的 文 本 更 多 的 文 本 放 入 一 个 编 辑 控 件 中 , 则 用 户 可 以 编辑 控 件 中 的 任 何 文 本 。 但 是 , 这 个 文 本 限 制 将 禁 止 用 户 用 新 的 文 本 来 代 替 控 件中 已 经 存 在 的 文 本 , 除 非 已 经 删 除 了 当 前 的 选 择 , 使 得 控 件 中 的 文 本 低 于 了 文本 的 限 制 值 。

注意 对 于 文 本 极 限 来 说 , 将 每 一 个 OLE 项 计 算 为 一 个 字 符 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_EXLIMITTEX T。

请 参 阅 CRichEditCtrl::GetLimitText

CR ichEditCtrl::LineFromChar

long LineFromChar( long nIndex ) const;

返 回 值

返 回 包 含 由 nIndex 指 定 的 字 符 索 引 的 行 的 从 零 开 始 的 行 号 。 如 果 nIndex 是 -1 , 则 返 回 的 是 包 含 选 择 的 第 一 个 字 符 的 行 的 行 号 。 如 果 没 有 选 择 , 则 返 回 当 前 行的 行 号 。

参 数

nIndex

包 含 了 编 辑 控 件 的 文 本 中 的 期 望 字 符 的 从 零 开 始 的 索 引 值 , 或 者 时 -1 。如 果 nIndex 是 -1 , 则 它 指 定 的 是 当 前 行 , 也 就 是 包 含 插 字 符 ( ^ ) 的 行 。

说 明

此 成 员 函 数 用 来 获 取 包 含 指 定 字 符 索 引 的 行 的 行 号 。 字 符 索 引 就 是 带 格 式 编 辑控 件 中 从 开 始 计 算 的 字 符 数 目 。 对 于 字 符 计 数 , 一 个 OLE 项 被 计 算 为 一 个 单字 符 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_EXLINEFROMCHAR 。

请 参 阅 CRichEditCtrl::GetLineCount, CRichEditCtrl::GetLine, CRichEditCtrl::LineIndex

CR ichEditCtrl::LineIndex

int LineIndex( int nLine = -1 ) const;

返 回 值

返 回 在 nLine 中 指 定 的 行 的 字 符 索 引 ; 如 果 指 定 的 行 号 大 于 编 辑 控 件 中 的 行 数 ,

则 返 回 值 为 -1 。

参 数

nLine

包 含 编 辑 控 件 中 的 指 定 行 的 索 引 值 , 或 者 包 含 -1 。 如 果 nLine 是 -1 , 则 它指 定 的 是 当 前 行 , 也 就 是 包 含 脱 字 符 号 ( ^) 的 行 。

说 明

此 成 员 函 数 用 来 获 取 此 CRichEditCtrl 对 象 中 的 一 行 的 字 符 索 引 。 字 符 索 引 就 是带 格 式 编 辑 控 件 中 从 开 始 计 算 的 字 符 数 目 。 对 于 字 符 计 数 , 一 个 OLE 项 被 计算 为 一 个 单 字 符 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_LINEINDEX 。

请 参 阅 CRichEditCtrl::LineFromChar, CRichEditCtrl::GetLineCount

CR ichEditCtrl::LineLength

int LineLength( int nLine = -1 ) const;

返 回 值

当 LineLength 是 对 一 个 多 行 的 编 辑 控 件 调 用 时 , 返 回 的 是 由 nLine 指 定 的 行 的长 度 ( 以 字 节 计 算 ) 。 当 Lin e Length 是 对 一 个 单 行 编 辑 控 件 调 用 时 , 返 回 值 是编 辑 控 件 中 的 文 本 的 长 度 。

参 数

nLine

指 定 其 长 度 要 被 返 回 的 行 中 的 一 个 字 符 的 字 符 索 引 。 如 果 这 个 参 数 是 -1 , 则 返 回 当 前 行 ( 包 含 脱 字 符 号 的 行 ) 的 长 度 , 不 包 括 此 行 中 任 何 被 选 择文 本 的 长 度 。 当 LineLength 是 对 一 个 单 行 编 辑 控 件 调 用 时 , 这 个 参 数 被

忽 略 。

说 明

此 成 员 函 数 用 来 获 取 一 个 带 格 式 编 辑 控 件 中 的 一 行 的 长 度 。

使 用 LineIndex 成 员 函 数 可 以 获 取 此 C RichEditCtrl 对 象 中 的 一 个 给 定 行 号 的 字符 索 引 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_LINELENGTH 。

请 参 阅 C RichEditCtrl::LineIndex

CR ichEditCtrl::LineScroll

void LineScroll( int nLine s, int nChars = 0 );

参 数

nLines

指 定 垂 直 滚 动 的 行 数 。

nChars

指 定 水 平 滚 动 的 字 符 数 。 如 果 带 格 式 编 辑 控 件 是 ES_RIGHT 或

ES_CENTER 风 格 , 则 这 个 值 被 忽 略 。 编 辑 风 格 在 Create 中 指 定 。

说 明

此 成 员 函 数 用 来 滚 动 一 个 多 行 编 辑 控 件 的 文 本 。

编 辑 控 件 不 能 用 来 垂 直 滚 动 过 编 辑 控 件 的 最 后 一 行 。 如 果 当 前 行 的 行 号 再 加 上nLines 指 定 的 行 数 超 过 了 编 辑 控 件 中 的 总 行 数 , 则 将 调 整 这 个 值 , 以 使 在 滚 动到 编 辑 控 件 中 的 最 后 一 行 后 再 滚 动 到 控 件 顶 部 的 行 。

LineScroll 可 以 水 平 滚 动 过 任 意 行 的 最 后 一 个 字 符 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_LINESCROLL 。

请 参 阅 C RichEditCtrl::LineIndex

CR ichEditCtrl::Paste

void Paste();

说 明

此 成 员 函 数 用 来 将 来 自 剪 贴 板 的 数 据 插 入 到 C RichEditCtrl 中 的 插 入 点 处 , 即 脱字 符 号 所 在 的 位 置 。 只 有 当 剪 贴 板 上 的 数 据 是 能 够 被 认 可 的 格 式 时 , 数 据 才 会被 插 入 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 WM_PASTE 。

请 参 阅 C RichEditCtrl::Copy, CRichEditCtrl::Cut, CRichEditCtrl::PasteSpecial

CR ichEditCtrl::PasteSpecial

void PasteSpecial( UINT nClipFormat , DWORD dvAspect = 0, HMETAFILE hMF

= 0 );

参 数

nClipFormat

要 粘 贴 到 此 C RichEditCtrl 对 象 中 的 剪 贴 板 格 式 。

dvAspect

要 从 剪 贴 板 获 取 的 数 据 的 设 备 外 观 。

hMF

一 个 图 元 文 件 的 句 柄 , 该 图 元 文 件 包 含 了 要 被 粘 贴 的 对 象 的 图 标 视 。

说 明

此 成 员 函 数 用 来 将 特 定 剪 贴 板 格 式 的 数 据 粘 贴 到 此 C RichEditCtrl 对 象 中 。 新 的材 料 被 在 插 入 点 , 即 脱 字 符 号 所 在 处 插 入 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_PASTESPEC IA L 。

请 参 阅 C RichEditCtrl::Paste, CRichEditCtrl::Copy, CRichEditCtrl::Cut

CR ichEditCtrl::ReplaceSel

void ReplaceSel( LPCTSTR lpszNewText , BOOL bCanUndo = FALSE );

参 数

lpszNewText

指 向 一 个 以 空 字 符 结 尾 的 字 符 串 的 指 针 , 该 字 符 串 包 含 了 用 于 替 换 的 文

本 。

bCanUndo

要 指 定 这 个 功 能 是 可 以 取 消 的 , 就 把 这 个 参 数 设 置 为 TRU E 。 缺 省 的 值 是

FALSE 。

说 明

此 成 员 函 数 使 用 CWnd::SetWindowText 来 用 指 定 的 文 本 替 换 此 C RichEditCtrl

对 象 中 的 当 前 选 择 的 文 本 。

如 果 没 有 当 前 选 择 , 则 替 换 文 本 被 插 入 当 前 脱 字 符 号 所 在 的 位 置 。更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_REPLACESE L。

请 参 阅 C RichEditCtrl::CanUndo, CRichEditCtrl::Undo, CWnd::SetWindowText

CR ichEditCtrl::RequestResize

void RequestResiz e();

此 成 员 函 数 用 来 强 迫 此 C RichEditCtrl 对 象 向 它 的 父 窗 口 发 送EN_REQUESTRESIZE 通 知 消 息 。 在 CWnd::OnSize 处 理 一 个 无 底 的C RichEditCtrl 对 象 时 , 这 个 函 数 是 很 有 用 的 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_REQUESTRESIZE 消 息 和 文 章 “ 无 底的 带 格 式 控 件 ” 。

请 参 阅 C Wnd::OnSize, CRichEditCtrl::Create

CR ichEditCtrl::SetBackgroundColor

COLORREF SetBackgroundColor( BOOL bSysColor , COLORREF cr );

返 回 这 个 C RichEditCtrl 对 象 先 前 的 背 景 颜 色 。

参 数

bSysColor

表 明 背 景 色 是 否 要 设 置 为 系 统 值 。 如 果 这 个 值 是 TRUE , 则 cr 被 忽 略 。

cr

要 求 的 背 景 色 。 只 有 在 bSysColor 是 FALSE 时 才 使 用 。

说 明

此 成 员 函 数 用 来 设 置 这 个 C RichEditCtrl 对 象 的 背 景 色 。 背 景 色 可 以 设 置 为 系 统值 , 或 者 是 设 置 为 指 定 的 COLORREF 值 。

更 多 的 信 息 ,参 见 W in32 文 档 中 的 EM_SETBKGNDCOLOR 消 息 和 COLORREF

结 构 。

请 参 阅 C DC::SetBkColor

CR ichEditCtrl::SetDefaultCharFormat

BOOL SetDefaultCharFormat( CHARFORMAT& cf );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

cf

一 个 包 含 新 的 缺 省 字 符 格 式 化 属 性 的 CHARFORMAT 结 构 。

此 成 员 函 数 用 来 为 这 个 C RichEditCtrl 对 象 中 的 新 文 本 设 置 字 符 格 式 化 属 性 。 这个 函 数 只 改 变 cf 中 的 dwMask 成 员 指 定 的 属 性 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETCHARFORMAT 消 息 和

CHARFORMAT 结 构 。

请 参 阅 C RichEditCtrl::GetDefaultCharFormat, CRichEditCtrl::SetSelectionCharFormat

CR ichEditCtrl::SetEventMask

DWORD SetEventMask( DWORD dwEventMask );

返 回 值

返 回 先 前 的 事 件 Mask 。

dwEventMask

这个 C RichEditCtrl 对 象 的 新 的 事 件 Mask 。

说 明

此 成 员 函 数 用 来 为 这 个 C RichEditCtrl 对 象 设 置 新 的 事 件 Mask 。 此 事 件 掩 码 指定 了 C RichEditCtrl 对 象 将 哪 一 个 通 知 消 息 发 送 给 它 的 父 窗 口 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETEVENTMASK 。

请 参 阅 C RichEditCtrl::GetEventMask

CR ichEditCtrl::SetModify

void SetModify( BOOL bModified = TRUE );

bModified

如 果 是 TRUE , 则 表 明 文 本 被 修 改 了 ; 如 果 是 FALSE , 则 表 明 文 本 没 有被 修 改 。 这 个 修 改 标 志 被 缺 省 地 设 置 。

说 明

此 成 员 函 数 用 来 为 一 个 编 辑 控 件 设 置 或 清 除 修 改 标 志 。 此 修 改 标 志 表 明 编 辑 控件 中 的 文 本 是 否 被 修 改 了 。 不 管 用 户 什 么 时 候 改 变 文 本 , 这 个 标 志 都 自 动 被 设置 。 可 以 用 GetModify 成 员 函 数 来 获 取 这 个 标 志 的 值 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETMODIFY 。

请 参 阅 CRichEditCtrl::GetModify

CR ichEditCtrl::SetOLECallback

BOOL SetOLECallback( IRichEditOleCallback* pCallback );

参 数

pCallback

指 向 一 个 IRichEditOleCallback 对 象 的 指 针 。 C RichEditCtrl 对 象 将 利 用 这个 对 象 来 获 取 与 OLE 相 关 的 资 源 和 信 息 。

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

说 明

此 成 员 函 数 用 来 给 C RichEditCtrl 对 象 提 供 一 个 IR ichEditOleCallback 对 象 , 用

来 访 问 与 OLE 相 关 的 资 源 和 信 息 。 此 C RichEditCtrl 对 象 将 调 用

IUnknown::AddRef 来 增 加 pCallback 指 定 的 C O M 对 象 的 使 用 计 数 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETOLEINTERFACE 消 息 和

IRichEditOleCallback 接 口 。

请 参 阅 C RichEditCtrl::GetIRichEditOle

CR ichEditCtrl::SetOptions

void SetOptions( WORD wOp , DWORD dwFlags );

参 数

wOp

用 来 表 明 存 在 的 类 型 。 可 以 是 下 列 值 之 一 :

 ECOOP_SET 将 选 项 设 置 为 dwFlags 所 指 定 的 那 样 。

 ECOOP_OR 将 当 前 选 项 与 dwFlags 所 指 定 的 组 合 。

 ECOOP_AND 只 保 留 那 些 与 dwFlags 所 指 定 的 一 样 的 当 前 选 项 。

 ECOOP_XOR 值 保 留 那 些 没 有 由 dwFlags 指 定 的 当 前 选 项 。

dwFlags

是 带 格 式 编 辑 选 项 。 在 说 明 部 分 给 出 了 列 出 这 个 标 志 的 可 能 取 值 。

说 明

此 成 员 函 数 用 来 为 C RichEditCtrl 对 象 设 置 选 项 。选 项 可 以 是 下 列 值 的 组 合 :

  • ECO_AUTOWORDSELECTION 双 击 进 行 自 动 单 词 选 择 。

  • ECO_AUTOVSCROLL 当 用 户 在 行 的 最 末 段 输 入 一 个 字 符 时 ,

    文 本 自 动向 右 滚 动 10 个 字 符 。 当 用 户 按 下 ENTER 键 时 , 控 件 将 所 有 文 本 滚 动 到 零

位 。

  • ECO_AUTOHSCROLL 当 用 户 在 最 后 一 行 按 下 ENTER 键 时 , 文 本

    自 动 向上 滚 动 一 页 。

  • ECO_NOHIDESEL 取 消 一 个 编 辑 控 件 的 缺 省 行 为 。 当 控 件 失

    去 输 入 焦 点时 缺 省 行 为 隐 藏 选 择 , 当 控 件 结 束 输 入 焦 点 时 则 显 示 选 择 。 如 果 你 指 定ECO_NOHIDESE L, 则 存 在 的 文 本 被 转 换 , 即 使 是 没 有 焦 点 的 情 况 下 。

  • ECO_READONLY 禁 止 用 户 在 编 辑 控 件 中 输 入 或 编 辑 文 本 。

  • ECO_WANTRETURN 当 用 户 在 一 个 对 话 框 中 的 多 行 带 格 式 编

    辑 控 件 中 输入 文 本 按 下 ENTER 键 时 , 指 定 插 入 一 个 回 车 换 行 符 。 如 果 你 没 有 指 定 这个 风 格 , 按 下 ENTER 键 将 给 带 格 式 编 辑 控 件 的 父 窗 口 发 送 一 个 命 令 , 模拟 点 击 了 父 窗 口 的 缺 省 按 钮 ( 例 如 , 对 话 框 中 的 OK 按 钮 ) 。 这 个 风 格 对单 行 编 辑 控 件 来 说 是 没 有 影 响 的 。

  • ECO_SAVESEL 当 控 件 失 去 焦 点 时 , 保 存 选 择 。 缺 省 的 ,

    当 焦 点 返 回 时 , 控 件 的 所 有 内 容 都 被 选 择 。

  • ECO_VERTICAL 在 垂 直 方 向 上 绘 制 文 本 和 对 象 。 只 对 亚 洲

    人 的 语 言 有效 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETOPTIONS 。

请 参 阅 C RichEditCtrl::HideSelection, CRichEditCtrl::SetReadOnly

CR ichEditCtrl::SetParaFormat

BOOL SetParaFormat( PARAFORMAT& pf );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

pf

一 个 包 含 新 的 缺 省 段 落 格 式 化 属 性 的 PARAFORMAT 结 构 。

说 明

此 成 员 函 数 用 来 为 C RichEditCtrl 对 象 中 的 当 前 选 择 设 置 段 落 格 式 化 属 性 。 这 个函 数 只 改 变 pf 中 dwMask 成 员 指 定 的 属 性 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETPARAFORMAT 消 息 和

PARAFORMAT 结 构 。

请 参 阅 C RichEditCtrl::GetParaFormat, CRichEditCtrl::SetSelectionCharFormat

CR ichEditCtrl::SetReadOnly

BOOL SetReadOnly( BOOL bReadOnly = TRUE );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

bReadOnly

表 明 此 C RichEditCtrl 对 象 是 否 应 该 是 只 读 的 。

说 明

此 成 员 函 数 用 来 改 变 这 个 C RichEditCtrl 对 象 的 ECO_READONLY 消 息 。 有 关这 个 消 息 的 简 短 描 述 , 参 见 SetOptions 。 你 可 以 使 用 这 个 函 数 来 设 置 这 个

C RichEditCtrl 对 象 的 所 有 选 项 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETREADONLY 。

请 参 阅 C RichEditCtrl::Create, CRichEditCtrl::SetOptions

CR ichEditCtrl::SetRect

void SetRect( LPCRECT lpRect );

参 数

lpRect

是 一 个 CRect 或 一 个 指 向 RECT 的 指 针 。它 表 明 了 格 式 化 矩 形 的 新 的 界 线 。

说 明

此 成 员 函 数 用 来 为 这 个 C RichEditCtrl 对 象 设 置 新 的 格 式 化 矩 形 。 这 个 格 式 化 矩

形 是 文 本 的 限 制 矩 形 。 此 限 制 矩 形 与 带 格 式 编 辑 控 件 的 大 小 无 关 。 当 此C RichEditCtrl 对 象 第 一 次 被 创 建 时 , 格 式 化 矩 形 与 窗 口 的 客 户 区 具 有 相 同 的 尺寸 。 使 用 SetRect 可 以 使 格 式 化 矩 形 变 得 比 带 格 式 编 辑 窗 口 大 或 小 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETRECT 。

请 参 阅 C RichEditCtrl::GetRect

CR ichEditCtrl::SetSel

void SetSel( long nStartCha r, long nEndChar ); void SetSel( CHARRANGE& cr );

参 数

nStartChar

选 择 中 的 第 一 个 字 符 的 从 零 开 始 的 索 引 。

nEndChar

选 择 中 的 最 后 一 个 字 符 的 从 零 开 始 的 索 引 。

cr

一个 CHARRANGE 结 构 , 包 含 了 当 前 选 择 的 界 线 。

说 明

此 成 员 函 数 用 来 设 置 这 个 C RichEditCtrl 对 象 中 的 选 择 。

这 个 函 数 的 两 种 形 式 都 用 来 设 置 选 择 的 界 线 , 它 们 可 以 相 互 替 换 。 有 关 这 两 种形 式 的 简 短 描 述 如 下 所 示 :

  • SetSel( cr ) 这 种 形 式 用 CHARRANGE 结 构 的 cpMin 和 cpMax 成

    员 来 设置 界 线 。

  • SetSel( nStarCha r, nEndChar ) 这 种 形 式 用 参 数 nStartChar

    nEndChar 来设置 界 线 。

脱 字 符 号 被 放 置 在 由 开 始( cpMin 或 nStartChar )和结束( cpMax 或 nEndChar ) 索 引 中 的 较 大 者 所 指 定 的 选 择 的 结 尾 处 。 此 函 数 不 滚 动 C RichEditCtrl 的 内 容 , 以 使 脱 字 符 号 是 可 见 的 。

要 选 择 此 C RichEditCtrl 对 象 中 的 索 引 文 本 , 可 以 用 一 个 为 0 的 开 始 索 引 和 一 个为 -1 的 结 束 索 引 来 调 用 SetSel 。

更 多 的 信 息 ,参 见 W in32 文 档 中 的 EM_EXSETSET 消 息 和 CHARRANGE 结 构 。

请 参 阅 C RichEditCtrl::GetSel, CRichEditCtrl::GetSelectionType

CR ichEditCtrl::SetSelectionCharFormat

BOOL SetSelectionCharFormat( CHARFORMAT& cf );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

cf

一个 CHARFORMAT 结 构 , 包 含 了 当 前 选 择 的 字 符 格 式 化 属 性 。

说 明

此 成 员 函 数 用 来 设 置 这 个 C RichEditCtrl 对 象 中 的 当 前 选 择 的 文 本 的 字 符 格 式 化属 性 。 这 个 函 数 只 改 变 由 cf 中 的 dwMask 成 员 指 定 的 属 性 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETCHARFORMAT 消 息 和

CHARFORMAT 结 构 。

请 参 阅 C RichEditCtrl::GetSelectionCharFormat, CRichEditCtrl::SetDefaultCharFormat

CR ichEditCtrl::SetTargetDevice

BOOL SetTargetDevice( HDC hDC , long lLineWidth ); BOOL SetTargetDevice( CDC& dc , long lLineWidth );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

参 数

hDC

新 的 目 标 设 备 的 设 备 环 境 句 柄 。

lLineWidth

用 于 格 式 化 的 线 宽 。

dc

新 的 目 标 设 备 的 CDC 。

说 明

此 成 员 函 数 用 来 设 置 目 标 设 备 和 此 C RichEditCtrl 对 象 中 的 用 于 WYSIWY G( 所见 即 所 得 ) 的 线 宽 。

如 果 这 个 函 数 成 功 , 则 该 带 格 式 编 辑 控 件 就 拥 有 了 作 为 参 数 传 递 来 的 设 备 环境 。 在 这 种 情 况 下 , 调 用 函 数 不 应 该 销 毁 这 个 设 备 环 境 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETTARGETDEVICE 。

请 参 阅 RichEditCtrl::FormatRange, CRichEditCtrl::DisplayBand

CR ichEditCtrl::Set W ordCharFormat

BOOL SetWordCharFormat( CHARFORMAT& cf );

返 回 值

如 果 成 功 则 返 回 非 零 值 ; 否 则 返 回 零 。

参 数

cf

一个 CHARFORMAT 结 构 , 包 含 了 当 前 选 择 单 词 的 字 符 格 式 化 属 性 。

说 明

此 成 员 函 数 用 来 设 置 这 个 C RichEditCtrl 对 象 中 的 当 前 选 择 单 词 的 字 符 格 式 化 属性 。 这 个 函 数 只 影 响 cf 中 的 dwMask 成 员 指 定 的 属 性 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_SETCHARFORMAT 消 息 和

CHARFORMAT 结 构 。

请 参 阅 C RichEditCtrl::SetSelectionCharFormat

CR ichEditCtrl::StreamIn

long StreamIn( int nForma t, EDITSTREAM& es );

返 回 值

返 回 从 输 入 流 中 读 到 的 字 符 数 。

参 数

nFormat

用 来 指 定 输 入 数 据 格 式 的 标 志 。 参 见 说 明 部 分 可 以 获 得 更 多 的 信 息 。

es

一个 EDITSTREAM 结 构 , 用 来 指 定 输 入 流 。 参 见 说 明 部 分 可 以 获 得 更 多

的 信 息 。

说 明

此 成 员 函 数 用 从 指 定 的 输 入 流 中 获 得 的 文 本 来 替 换 C RichEditCtrl 对 象 中 的 文本 。

nFormat 的 值 必 须 是 下 列 值 之 一 :

  • SF_TEXT 表 明 只 读 取 文 本 。

  • SF_RTF 表 明 读 取 文 本 并 进 行 格 式 化 。

这 两 个 值 中 的 任 何 一 个 都 可 以 与 SFF_SELECTION 组 合 。 如 果 指 定 了

SFF_SELECTION , 则 StreamIn 就 替 换 这 个 C RichEditCtrl 对 象 的 所 有 内 容 。

在 EDITSTREAM 参 数 es 中 , 你 可 以 指 定 一 个 用 文 本 来 填 充 缓 存 的 收 回 函 数 。这 个 收 回 函 数 被 重 复 调 用 , 直 至 输 入 流 被 用 完 为 止 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_STREAMIN 消 息 和 E D ITSTREAM 结

请 参 阅 C RichEditCtrl::StreamOut

C R ichEditCtrl::StreamOut

long StreamOut( int nForma t, EDITSTREAM& es );

返 回 值

返 回 要 写 到 输 出 流 中 去 的 字 符 数 。

参 数

nformat

用 来 指 定 输 出 数 据 格 式 的 标 志 。 参 见 说 明 部 分 可 以 获 得 更 多 的 信 息 。

es

用 来 指 定 输 出 流 的 EDITSTREAM 结 构 。 参 见 说 明 部 分 可 以 获 得 更 多 的 信

说 明

此 成 员 函 数 用 来 将 此 C RichEditCtrl 对 象 中 的 内 容 写 到 指 定 的 输 出 流 中 。

nFormat 的 值 必 须 是 下 列 值 之 一 :

  • SF_TEXT 表 示 只 是 写 文 本 。

  • SF_RTF 表 明 写 文 本 并 进 行 格 式 化 。

  • SF_RTFNOOBJS 表 明 是 写 文 本 并 进 行 格 式 化 , 用 空 格 来 替

    换 OLE 项 。

  • SF_TEXTIZED 表 明 写 文 本 并 进 行 格 式 化 , 使 用 OLE 项 的 原

    文 表 示 。

这 些 值 中 的 任 何 一 个 都 可 以 与 SFF_SELECTION 组 合 。 如 果 指 定 了SFF_SELECTION , 则 StreamOut 将 读 取 选 择 写 入 输 出 流 。 如 果 没 有 指 定 , 则StreamOut 将 C RichEditCtrl 对 象 的 所 有 内 容 都 写 入 输 出 流 中 。

这 个 收 回 函 数 被 重 复 调 用 , 直 至 输 入 流 被 用 完 为 止 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_STREAMOUT 消 息 和 EDITSTREAM

结 构 。

请 参 阅 C RichEditCtrl::StreamIn

CR ichEditCtrl::Undo

BOOL Undo();

返 回 值

如 果 取 消 操 作 成 功 则 返 回 非 零 值 ; 否 则 返 回 0 。

说 明

此 成 员 函 数 用 来 取 消 带 格 式 编 辑 控 件 中 的 最 后 一 次 操 作 。

一 次 取 消 操 作 也 可 以 被 取 消 。 例 如 , 你 可 以 用 对 Undo 的 第 一 次 调 用 来 恢 复 被删 除 的 文 本 。 当 还 没 有 进 行 其 它 的 编 辑 操 作 时 , 你 可 以 通 过 对 Undo 的 第 二 次调 用 来 再 次 删 除 这 些 文 本 。

更 多 的 信 息 , 参 见 W in32 文 档 中 的 EM_UNDO 。

请 参 阅 C RichEditCtrl::CanUndo, CRichEditCtrl::EmptyUndoBuffer