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 ) 这 种 形 式 使 用 参 数
nStartChar 和 nEndChar
来 返 回 界 线 。
如 果 开 始 值 ( 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