2012-01-19 29 views
2

ファイル名を表示するツールを実装しようとしています。 私はSetWindowText()メソッドを使用してこれを行いたいと思います。 しかし、このメソッドをループで使用しようとすると、 というテキストが1行に表示され、連続的に更新されます。ここ編集コントロールボックスに複数行のテキストを表示するMFC

は、コードスニペット

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

助けてくださいです。!ありがとう。

+0

これは実際のコードですか?あなたは10倍のファイル名を表示しています。 – MikMik

答えて

7

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を参照)を使用して素晴らしいラッパーを提供します。これは、スクロール可能であり、リストが長い場合に(オプションで)ソート可能であるという利点があります。

関連する問題