Mfc Can';t插入列表控件项

Mfc Can';t插入列表控件项,mfc,Mfc,我试图在单击“添加”按钮时插入列表控件项 但单击“添加”按钮时,不会插入项目 我还将列表控件的视图属性从图标更改为报表。 下面的代码有问题吗 BOOL CMFCApplication7Dlg::OnInitDialog() { CDialogEx::OnInitDialog(); ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMe

我试图在单击“添加”按钮时插入列表控件项
但单击“添加”按钮时,不会插入项目
我还将列表控件的视图属性从图标更改为报表。
下面的代码有问题吗

BOOL CMFCApplication7Dlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();


    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000);

    CMenu* pSysMenu = GetSystemMenu(FALSE);
    if (pSysMenu != NULL)
    {
        BOOL bNameValid;
        CString strAboutMenu;
        bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
        ASSERT(bNameValid);
        if (!strAboutMenu.IsEmpty())
        {
            pSysMenu->AppendMenu(MF_SEPARATOR);
            pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
        }
    }


    SetIcon(m_hIcon, TRUE);         
    SetIcon(m_hIcon, FALSE);        


    // Here is insert columns.

    TCHAR *szText[2] = { _T("NAME"), _T("E-MAIL") };
    int nWid[2] = { 65, 180 };

    LV_COLUMN lCol;

    lCol.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
    lCol.fmt = LVCFMT_LEFT;

    for (int i = 0; i < 2;i++)
    {
        lCol.pszText = szText[i];
        lCol.iSubItem = i;
        lCol.cx = nWid[i];
        m_ListC.InsertColumn(i, &lCol);
    }

    return TRUE; 
}

将信息设置为掩码未覆盖的项。此外,在插入普通列时,iSubItem成员不会在报告模式下使用

使用m_listC InsertColumn、InsertItem和SetItemText的成员函数,而不是struct版本。它不太容易出错

提示:使用ASSERT/VERIFY检查您正在做的事情是否有效。。。检查代码时没有错误

void CMFCApplication7Dlg::OnBnClickedButtAdd()
{

    TCHAR szText[50] = _T("");
    int nIndex = 0;

    UpdateData(TRUE);

    LVITEM litem;

    litem.mask = LVIF_TEXT;
    litem.iItem = nIndex;

    litem.iSubItem = 0;
    swprintf_s(szText, sizeof(szText), _T("%s"), m_strName);
    litem.pszText = (LPWSTR)szText;

    m_ListC.InsertItem(&litem);

    litem.iSubItem = 1;
    swprintf_s(szText, sizeof(szText), _T("%s"), m_strMail);
    litem.pszText = (LPWSTR)szText;
    m_ListC.SetItem(&litem);

    m_strName = _T("");
    m_strMail = _T("");

    nIndex++;
    UpdateData(FALSE);
}