Mfc 具有UINT32值的CListCtrl SetItemData
我有一个Mfc 具有UINT32值的CListCtrl SetItemData,mfc,clistctrl,Mfc,Clistctrl,我有一个CListCtrl,我想存储一个UINT32值,但当我使用GetItemData 我有以下代码: UINT CMyDialog::MyThread(LPVOID pArg) for (int nItem=0; nItem<50; nItem++) { UINT32 nNum=100; pDlg->m_listCtrl.InsertItem(0, _T("text")); // this works pDlg->m_listCtrl.Set
CListCtrl
,我想存储一个UINT32值,但当我使用GetItemData
我有以下代码:
UINT CMyDialog::MyThread(LPVOID pArg)
for (int nItem=0; nItem<50; nItem++)
{
UINT32 nNum=100;
pDlg->m_listCtrl.InsertItem(0, _T("text")); // this works
pDlg->m_listCtrl.SetItemData(nItem, nNum); // this not
}
}
/// this is called from a Dialog member function when a button is pressed
void CMyDialog::OnBtnClicked()
{
UINT32 nRead=0;
nRead=m_listCtrl.GetItemData(5);
// nRead always returns 0
}
UINT CMyDialog::MyThread(LPVOID pArg)
for(int nItem=0;nItemm_listCtrl.InsertItem(0,_T(“text”);//这很有效
pDlg->m_listCtrl.SetItemData(nItem,nNum);//这不是
}
}
///当按下按钮时,从对话框成员函数调用此函数
void CMyDialog::OnBtnClicked()
{
UINT32 nRead=0;
nRead=m_listCtrl.GetItemData(5);
//nRead始终返回0
}
即使我使用int或DWORD而不是UINT,我也会得到同样的结果。请更加小心地发布您的代码。使用剪切和粘贴非常简单,没有理由一个接一个地出错。帮助您非常困难,也不值得,因为您不接受很多答案 无论如何,我确实看到您的循环有问题。您应该使用
InsertItem()
中的返回值,如下所示:
UINT CMyDialog::MyThread(LPVOID pArg)
{
for (int nItem=0; nItem<50; nItem++)
{
UINT32 nNum=100;
int nIndex = pDlg->m_listCtrl.InsertItem(0, _T("text"));
pDlg->m_listCtrl.SetItemData(nIndex, nNum);
}
}
UINT CMyDialog::MyThread(LPVOID pArg)
{
对于(int nItem=0;nItemm_listCtrl.InsertItem(0,_T(“文本”));
pDlg->m_listCtrl.SetItemData(nIndex,nNum);
}
}
请更加小心地发布您的代码。使用剪切粘贴非常简单,没有理由一个接一个地出错。因为您不接受很多答案,所以很难帮助您,也不值得 无论如何,我确实看到您的循环有问题。您应该使用
InsertItem()
中的返回值,如下所示:
UINT CMyDialog::MyThread(LPVOID pArg)
{
for (int nItem=0; nItem<50; nItem++)
{
UINT32 nNum=100;
int nIndex = pDlg->m_listCtrl.InsertItem(0, _T("text"));
pDlg->m_listCtrl.SetItemData(nIndex, nNum);
}
}
UINT CMyDialog::MyThread(LPVOID pArg)
{
对于(int nItem=0;nItemm_listCtrl.InsertItem(0,_T(“文本”));
pDlg->m_listCtrl.SetItemData(nIndex,nNum);
}
}
请发布更多的代码,因为我知道这是有效的——我已经使用过了。而您现有的许多代码都毫无意义。例如:
m\u ListCtrl=GetItemData(nItem)
,如何为控件分配整数??(如果需要帮助,请开始接受更多答案。)这是我的代码中的样子我不这么认为。请看我之前的评论。很抱歉,这是文章中的一个打字错误,但不是在代码中。那么它不应该是nRead=m_ListCtrl.GetItemData(5)
?请发布更多的代码,因为我知道这是有效的——我已经使用过了。而您现有的许多代码都毫无意义。例如:m\u ListCtrl=GetItemData(nItem)
,如何为控件分配整数??(如果需要帮助,请开始接受更多答案。)这是我的代码中的外观。我不这么认为。请查看我以前的评论。很抱歉,这是文章中的一个打字错误,但不是在代码中。那么它不应该是nRead=m_ListCtrl.GetItemData(5)
?