0
我試圖在單擊添加按鈕時插入列表控件項目。
但點擊添加按鈕,它不會插入項目。
此外,我更改列表控件的視圖屬性從圖標報告。
下面的代碼有問題嗎?
無法插入列表控件的項目
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;
}
//這裏是插入項目代碼。
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);
}