【发布时间】:2014-10-08 06:01:29
【问题描述】:
我正在使用 MFC 中的列表控件。我编写了代码来将元素插入到对话框中的列表控件中,如下所示:
int nIndex = 0;
for (int count = 0; count < arrResults.GetSize(); count++)
{
nIndex = m_cListCtrl.InsertItem(count, _T(arrResults[count].ElementAt(0)));
m_cListCtrl.SetItemText(nIndex, 1, _T(arrResults[count].ElementAt(1)));
}
但是,当我尝试从m_cListCtrl 检索数据时,它总是返回空白。此外,GetItemCount() 方法还返回 0 项。任何建议表示赞赏。
以下是我写的数据检索代码:
arrResults.SetSize(1);
arrResults[0].Add("Header1");
arrResults[0].Add("Header2");
TestDialog testDlg;
testDlg.FillControlList(arrResults); // This function has above code to add data to control list
EXPECT_EQ("Header1", queryDlg.m_cListCtrl.GetItemText(0, 0));
EXPECT_EQ("Header2", queryDlg.m_cListCtrl.GetItemText(0, 1));
GetItemText 函数返回空白字符串。
【问题讨论】:
-
我看不出你贴的代码有什么问题,所以问题一定出在你没有贴的代码上。向我们展示更多?
-
总是检查函数调用的返回值 --
nIndex -
@RogerRowland - 我已经用代码更新了问题以从控制列表中获取数据
-
@EdwardClements - 是的,我已经定义了列。
-
“GetItemText 函数返回空白字符串” - 您是否通过调试器验证您正在向
SetItemText提供有效字符串?我不确定_T()宏是否有帮助 - 我之前没有看到,它应该只用于字符串文字。