MFC 在编辑控件框中显示多行文本

Posted

技术标签:

【中文标题】MFC 在编辑控件框中显示多行文本【英文标题】:MFC displaying multiple-lines of text in Edit Control box 【发布时间】:2012-01-19 06:32:23 【问题描述】:

我正在尝试实现一个显示文件名的工具。 我想通过使用 SetWindowText() 方法来做到这一点。 但是,当我尝试循环使用此方法时, 文本显示为一行,并不断刷新。

这里是代码 sn-p

for (int i = 0; i<10; i++)

  SetWindowText(filenames);

请帮忙!谢谢。

【问题讨论】:

这是你的真实代码吗?你显示了 10 次文件名,不管是什么 【参考方案1】:

SetWindowText 用您提供的字符串替换当前窗口文本。 所以,如果你想用它显示多行,你首先必须创建一个多行字符串。

一个简单的例子:

CStringArray names;

// Fill names

CString str;
for (INT_PTR i = 0; i < names.GetCount() ; ++i)

    str += names[i] + _T("\r\n");


c_MyEdit.SetWindowText(str);

【讨论】:

【参考方案2】:

另一种经过时间考验的同时显示多个名称的方法是列表框。 MFC 为 CListBox 类提供了一个很好的包装器(请参阅http://msdn.microsoft.com/en-us/library/y04ez4c9%28v=vs.80%29.aspx)。如果列表很长,这具有可滚动和(可选)排序的额外好处。

【讨论】:

以上是关于MFC 在编辑控件框中显示多行文本的主要内容,如果未能解决你的问题,请参考以下文章

VB如何把文件内容显示在文本框中?

从 MFC 中的编辑控件写入文本 [重复]

怎么用MFC,将复选框选中的文字在编辑框中显示出来,例如下面的图片,就是说将选中的课程在编辑框中显示出

CString 在 MFC 中编辑控件

MFC编程入门之二十一(常用控件:编辑框Edit Control)

MFC中如何给编辑框设置文本内容?