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

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

这里是代码 sn-p

for (int i = 0; i<10; i++)
{
  SetWindowText(filenames);
}

请帮忙!谢谢。

【问题讨论】:

  • 这是你的真实代码吗?你显示了 10 次文件名,不管是什么

标签: visual-c++ mfc


【解决方案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)。如果列表很长,这具有可滚动和(可选)排序的额外好处。

    【讨论】:

      猜你喜欢
      • 2016-10-09
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多