Visual c++如何从富文本框中读取
Visual c++ how to read from rich text box
我正在尝试从Visual c++中逐行读取富文本框,但不知道如何做到这一点。谁能提供一个它是如何工作的小例子?我对visual studio和visual c++还是个新手。我想做的是,将富文本框中的每一行存储在字符串中,使用for循环。假设在富文本框中我有:text1text2text3for循环几乎会读取每一行,然后我将对它进行其他操作。
您没有说明您实际使用的是哪种富文本框。
如果你正在使用。net RichTextBox
类,你可以遍历它的Lines
属性:
array<String^>^ lines = textBox->Lines;
int count = lines->Length;
for (int idx = 0; idx < count; ++idx)
{
// use lines[idx] as needed...
}
如果你正在使用MFC CRichEditCtrl
类,你可以调用它的GetLineCount()
, LineLength()
和GetLine()
方法:
int count = textBox.GetLineCount();
for (int idx = 0; idx < count; ++idx)
{
std::basic_string<TCHAR> line;
int len = textBox.LineLength(idx);
if (len > 0)
{
line.resize(len+1);
len = textBox.GetLine(idx, &line[0], len);
line.resize(len);
}
// use line as needed...
}
如果你使用的是Win32 Rich Edit
控件,你可以发送EM_GETLINECOUNT
, EM_LINELENGTH
和EM_GETLINE
消息:
int count = SendMessage(hTextBox, EM_GETLINECOUNT, 0, 0);
for (int idx = 0; idx < count; ++idx)
{
std::basic_string<TCHAR> line;
int len = SendMessage(hTextBox, EM_LINELENGTH, idx, 0);
if (len > 0)
{
line.resize(len+1);
*(reinterpret_cast<WORD*>(&line[0])) = (WORD)len;
len = SendMessage(hTextBox, EM_GETLINE, idx, reinterpret_cast<LPARAM>(&line[0]));
line.resize(len);
}
// use line as needed...
}
相关文章:
- C++将文本文件中的数据读取到结构数组中
- 如何在c++中从文本文件中逐行读取整数
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- C++试图读取一个文件并输出到另一个文本文件
- 为什么C++的文件 I/O 在读取文本文件时忽略初始空行?我怎样才能让它不这样做?
- 将从格式化文本文件读取的文本数据存储到链表
- 如何从文本文件中读取数值,直到遇到字符类型?
- 如何将文本文件的特定行读取到 int 类型的数组中C++?
- 为什么 getline() 不读取文本文件中的所有内容?
- 读取字符串文本输入以创建 2D 矢量
- 如何使用iStringstream读取和解析文本文件?
- 逐字读取文本文件中的每一行并转换为 int(无限循环或崩溃?
- 我被困在如何从文本文件中读取
- C++ 从文本文件中读取每两行,并且在矢量中是安全的
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 如何读取文本文件中的数据并为每列 c++ 分配数组
- 在 c++ 中从文本文件中读取两个十六进制值
- 如何使用object.get()将文本读取到一个参数比文本大的2D数组中(2D数组有更多的行和列)
- C++从非英语文件名和非英语文本读取