CFILE 读取数据时不能换行,CLISTCTRL 不能换行插入数据,怎么解决?

SUN 20 信誉分
2024-08-12T06:07:17.73+00:00

输出数据是一行插入数据没有换行在解决,用什么办法解决?

屏幕截图 2024-08-12 135911

屏幕截图 2024-08-12 140334

void CMainWindow::Open()

{

CFileDialog dlgFile(TRUE, _T("txt"), NULL, OFN_ALLOWMULTISELECT | OFN_EXPLORER, NULL);

OPENFILENAME& ofn = dlgFile.GetOFN();

TCHAR szFile[MAX_PATH] = { 0 }; // 保存获取文件名称的缓冲区

ofn.lStructSize = sizeof(OPENFILENAME);

ofn.hwndOwner = NULL;

ofn.lpstrFile = szFile;

ofn.Flags |= OFN_ALLOWMULTISELECT;

ofn.lpstrFilter = L"All Files\0*.*\0ALL\0*.png\0All\0*.exe\0";

ofn.nFilterIndex = 1;

if (IDOK == dlgFile.DoModal()) {

    CStringArray strArrFilePaths;

    POSITION pos = dlgFile.GetStartPosition();

    while (pos != NULL)

        strArrFilePaths.Add(dlgFile.GetNextPathName(pos));

    int size = 0;

    for (;size < strArrFilePaths.GetSize(); size++)

    {

        auto result = ShellExecute(m_hWnd, L"find", strArrFilePaths[size], NULL, NULL, SW_SHOWNORMAL);


       

    }

    CFile f;

    if (f.Open(strArrFilePaths[0], CFile::modeRead)) {

        TRACE(strArrFilePaths[0]);

        char pbufRead[100] = {};

        f.Read(pbufRead, sizeof(pbufRead));

        mylist.InsertItem(LVIF_TEXT | LVIF_STATE, 0,(CString)pbufRead, (1 % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);


        

    }

}
```}

C++
C++
一种通用的高级编程语言,作为 C 编程语言的扩展而创建,除了用于低级别内存操作的功能外,还具有面向对象、泛型和功能性等特点。
162 个问题
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Minxin Yu 12,926 信誉分 Microsoft External Staff
    2024-08-13T08:54:04.0933333+00:00

    可以在插入前对读取的文本的内容进行分割,然后多次插入内容InsertItem。
    如果需要多行,可以使用文本框之类的控件。


你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。