请教一个list control的问题

时间:2022-01-25 19:47:39
XDialog m_dlg;
CString No;
No=m_dlg.m_List.GetItemText(i-1,0);
AfxMessageBox(No);
这段程序编译没错
但是No输出后是空的,请教高手如何解决这个问题,让No不为空

8 个解决方案

#1


对话框都没有打开,你怎么能得到内容。。

#2


XDialog m_dlg;
m_dlg.DoModal();
CString No;
No=m_dlg.m_List.GetItemText(i-1,0);
我本来程序是这样的。。。忘了少打一行上来
不过这样也得不到值

#3


检查你的i-1是不是越界了

#4


DoModal()都返回了,你下面m_dlg.m_List...这样调居然还不出错,不可思议!
怀疑这是你的源码么?

#5


真的。。。
我自己也怀疑阿
不过到底是不是这句的问题:m_dlg.m_List.GetItemText(i-1,0)

#6


Insert m_dlg;
m_dlg.DoModal();
int m=m_List.InsertItem(0,m_dlg.m_NoEdit); 
m_List.SetItemText(m,1,m_dlg.m_NameEdit);   
m_List.SetItemText(m,2,m_dlg.m_StyleEdit);
m_List.SetItemText(m,3,m_dlg.m_LengthEdit);
m_List.SetItemText(m,4,m_dlg.m_WidthEdit);
m_List.SetItemText(m,5,m_dlg.m_HeightEdit);
m_List.SetItemText(m,6,m_dlg.m_AmountEdit);
m_List.SetItemText(m,7,m_dlg.m_CaishuEdit);
x++;
x在初始化的时候定于为0;
m_NoEdit等等是另一个对话框的

#7


XDialog m_dlg;
m_dlg.DoModal();
int a=10;
CString No;
CString Name;
CString Style;
CString Length;
CString Width;
CString Height;
CString Amount;
CString Caishu;
int i=m_dlg.x;
while(i>0)
{
No=m_dlg.m_List.GetItemText(i-1,0);
AfxMessageBox(No);
Name=m_dlg.m_List.GetItemText(i-1,1);
Style=m_dlg.m_List.GetItemText(i-1,2);
Length=m_dlg.m_List.GetItemText(i-1,3);
Width=m_dlg.m_List.GetItemText(i-1,4);
Height=m_dlg.m_List.GetItemText(i-1,5);
Amount=m_dlg.m_List.GetItemText(i-1,6);
Caishu=m_dlg.m_List.GetItemText(i-1,7);
insert(a,No,Name,Style,Length,Width,Height,Amount,Caishu);
a=a+10;
i--;
}

#8


你用Create创建Dialog试试,Domodal都把程序阻塞了,还怎么得到下面。

#1


对话框都没有打开,你怎么能得到内容。。

#2


XDialog m_dlg;
m_dlg.DoModal();
CString No;
No=m_dlg.m_List.GetItemText(i-1,0);
我本来程序是这样的。。。忘了少打一行上来
不过这样也得不到值

#3


检查你的i-1是不是越界了

#4


DoModal()都返回了,你下面m_dlg.m_List...这样调居然还不出错,不可思议!
怀疑这是你的源码么?

#5


真的。。。
我自己也怀疑阿
不过到底是不是这句的问题:m_dlg.m_List.GetItemText(i-1,0)

#6


Insert m_dlg;
m_dlg.DoModal();
int m=m_List.InsertItem(0,m_dlg.m_NoEdit); 
m_List.SetItemText(m,1,m_dlg.m_NameEdit);   
m_List.SetItemText(m,2,m_dlg.m_StyleEdit);
m_List.SetItemText(m,3,m_dlg.m_LengthEdit);
m_List.SetItemText(m,4,m_dlg.m_WidthEdit);
m_List.SetItemText(m,5,m_dlg.m_HeightEdit);
m_List.SetItemText(m,6,m_dlg.m_AmountEdit);
m_List.SetItemText(m,7,m_dlg.m_CaishuEdit);
x++;
x在初始化的时候定于为0;
m_NoEdit等等是另一个对话框的

#7


XDialog m_dlg;
m_dlg.DoModal();
int a=10;
CString No;
CString Name;
CString Style;
CString Length;
CString Width;
CString Height;
CString Amount;
CString Caishu;
int i=m_dlg.x;
while(i>0)
{
No=m_dlg.m_List.GetItemText(i-1,0);
AfxMessageBox(No);
Name=m_dlg.m_List.GetItemText(i-1,1);
Style=m_dlg.m_List.GetItemText(i-1,2);
Length=m_dlg.m_List.GetItemText(i-1,3);
Width=m_dlg.m_List.GetItemText(i-1,4);
Height=m_dlg.m_List.GetItemText(i-1,5);
Amount=m_dlg.m_List.GetItemText(i-1,6);
Caishu=m_dlg.m_List.GetItemText(i-1,7);
insert(a,No,Name,Style,Length,Width,Height,Amount,Caishu);
a=a+10;
i--;
}

#8


你用Create创建Dialog试试,Domodal都把程序阻塞了,还怎么得到下面。