Win32C ++中编辑框中的下一行问题

时间:2011-03-16 03:12:37

标签: c++ winapi

我在显示输出时遇到问题。每当我显示输出而不是多行输出时,我只得到单行输出。

这是我的当前代码:

int TextLength = GetWindowTextLength(GetEditControl) + 1;
TCHAR Text[100000];
GetWindowText(GetEditControl, Text, TextLength);
if(TextLength > 1) {    
    vector <string> filelist;
    string path;
    path = Text;
    path = stripPath(path);
    filelist = GetPath(path);
    stringstream buffer;
    copy(filelist.begin()+1, filelist.end(),ostream_iterator<string>(buffer, "\n"));
    SetWindowText(EditShow,buffer.str().c_str());
    for(unsigned i=0;i<=99999;i++)
    {
        Text[i]='\0';
    }
} else 
{
    MessageBox(NULL, "No Text", "Error", MB_OK | MB_ICONERROR);
}

这是编辑框的属性

EditShow = CreateWindowEx(0, TEXT("Edit"), NULL,
            WS_CHILD | WS_VISIBLE | WS_BORDER | ES_AUTOHSCROLL ,
            60, 70, 400, 150,
            GetWindow, (HMENU)ID_EDITSHOW, NULL, 0);

1 个答案:

答案 0 :(得分:1)

尝试指定“\ r \ n”来分隔字符串,而不仅仅是“\ n”。