-1

我正在使用 Visual Studio 2010 中的 MFC 处理基于对话框的应用程序。我使用列表控件作为报告类型来显示 . 我设法在该输出窗口上显示了一些硬编码数据。这是代码。代码有什么问题

    void CuserspecificationDlg::OnAdd()     // This function add file by clicking on Add button
    {
// TODO: Add your control notification handler code here
CFileDialog ldFile(TRUE);
// Show the File Open dialog and capture the result
if (ldFile.DoModal() == IDOK)
    { 

     CStdioFile fileName;
  //TCHAR buf[100]; // it is declared in h file


       while(  fileName.ReadString(buf,99))
      {}
              fileName.Close();

}

     void CuserspecificationDlg::InsertItems()
    {
    //
list.cx = 100;
list.pszText   = "Project";      // this project is the column heading of the dialog
list.iSubItem = 2;
::SendMessage(hWnd  ,LVM_INSERTCOLUMN, 
    (WPARAM)1,(WPARAM)&list);

SetCell(hWnd,"1",0,0);
SetCell(hWnd,buf,0,1);    // these 1,G,X,X are the hardcoded entries. 
SetCell(hWnd,"G ",0,2);
SetCell(hWnd," X",0,3);

//----- //

}

如何显示该缓冲区?它不起作用。buf 没有正确显示文件中的内容。由于某些字符 1、G 和 X 在输出窗口中可见,但 buf 语句未正确显示字符。.. 代码有什么问题。

4

1 回答 1

0

要将项目添加到列表控件,您首先需要创建一个列:

LVCOLUMN lvCol;
lvCol.mask = LVCF_TEXT | LVCF_WIDTH;
lvCol.pszText = L"Column Header Text";
m_CListCtrl.InsertColumn(0, &lvCol);

// ...

然后将项目插入到结构类型的列表控件中LVITEM

LVITEM item;
item.mask = LVIF_TEXT;
item.pszText = "Column Text";
item.iItem = numItem;      // Item number
item.iSubItem = 0;         // Sub item number (column number)
m_CListCtrl.InsertItem(&item);
于 2012-07-17T14:35:15.280 回答