问题描述
- 求助!获取ClistCtrol选中行第一列的数据
-
void CMFCConnectSqlDlg::OnRclickLISTData(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CMFCConnectSqlDlg CSqlDlga;
int nSelRows = CSqlDlga.m_List_Value.GetSelectedCount();
if(!nSelRows)
return ;
POSITION pos = CSqlDlga.m_List_Value.GetFirstSelectedItemPosition();
int n=CSqlDlga.m_List_Value.GetNextSelectedItem(pos);
//wchar_t m_ID[30]={0};
theApp.M_ID=_ttoi(CSqlDlga.m_List_Value.GetItemText(n,0));//CString转化为int
int m_currentitem = CSqlDlga.m_List_Value.GetNextItem(-1,LVNI_SELECTED|LVNI_FOCUSED);
theApp.M_ID=_ttoi(CSqlDlga.m_List_Value.GetItemText(m_currentitem,0));
运行到GetSelectedCount()
弹出提示:Debug Assertion failed!
各位大虾救命啊
解决方案
你不应该重新构造一个对象,而是用当前对象
int nSelRows = this->m_List_Value.GetSelectedCount();
解决方案二:
void CMFCConnectSqlDlg::OnRclickLISTData(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CMFCConnectSqlDlg CSqlDlga;
int nSelRows = CSqlDlga.m_List_Value.GetSelectedCount();
if(!nSelRows)
return ;
POSITION pos = CSqlDlga.m_List_Value.GetFirstSelectedItemPosition();
int n=CSqlDlga.m_List_Value.GetNextSelectedItem(pos);
//wchar_t m_ID[30]={0};
theApp.M_ID=_ttoi(CSqlDlga.m_List_Value.GetItemText(n,0));//CString转化为int
解决方案三:
后面那三行不是,我换了方法,但还是一样!!
解决方案四:
非常谢谢!我是新手,在这里磨了一早上,也没发现,哥们真牛
时间: 2024-12-03 23:40:47