LONG GetTextRange(TEXTRANGE* pTextRange) const;
TEXTRANGE 结构体定义如下:
struct TEXTRANGE {
CHARRANGE chrg;
LPSTR lpstrText;
};
CHARRANGE 结构体定义如下:
struct CHARRANGE {
LONG cpMin;
LONG cpMax;
};
通过调用 CRichEditCtrl::GetTextRange 方法,可以获取指定范围内的文本,并将其存储在提供的 TEXTRANGE 结构体中。
以下是一个示例用法:
TEXTRANGE textRange;
textRange.chrg.cpMin = 0; // 范围的起始位置
textRange.chrg.cpMax = m_richEditCtrl.GetTextLength(); // 范围的结束位置(文本的总长度)
textRange.lpstrText = new char[textRange.chrg.cpMax + 1]; // 分配足够的空间
LONG actualLength = m_richEditCtrl.GetTextRange(&textRange);
CString textInRange(textRange.lpstrText, actualLength);
delete[] textRange.lpstrText;
TRACE("Text in range: %s\n", textInRange);
在这个示例中,我们首先设置了范围的起始位置和结束位置,然后分配了足够的空间来存储文本。接着,调用 GetTextRange 方法,将文本存储在 lpstrText 中,最后使用 TRACE 函数打印出范围内的文本。
转载请注明出处:http://www.zyzy.cn/article/detail/22170/MFC/CRichEditCtrl