因工作需要自学MFC,目前我在A类里建了一个ListCtrl控件,创建控件变量为m_ListCtrl,然后我需要在B类里获取这个控件的信息。第一次我想在B类里创建个实例对象,但是取不到信息。第二次想将m_ListCtrl这个变量作为参数传到B类,但是提示:“无法引用 函数 "CListCtrl::CListCtrl(const CListCtrl &)" (已隐式声明) -- 它是已删除的函数”。第三次我想在A类将控件里的内容放到CStringList里,但是返回值还是提示已被删除。看网上说用什么引用,但是没太搞懂。所以写了这段
CStringList* CStuInfoManag::GetListInfo()
{
int iColumnNum, iRowCount, i, j;
CString strText;
CStringList cList;
cList.RemoveAll();
cList.
iColumnNum = m_ListCtrl.GetHeaderCtrl()->GetItemCount();
iRowCount = m_ListCtrl.GetItemCount();
for (i = 0; i < iColumnNum; i++)
{
for (j = 0; j < iRowCount; j++)
{
strText = m_ListCtrl.GetItemText(j,i);
cList.AddTail(strText);
}
}
return &cList;
}
这样提示错误为:class "CStringList" 没有成员 "iColumnNum"。
以上是我的尝试方法,我该如何在B类里取得A类ListCtrl的信息?
看了题主代码,实际上就是个值域问题,你在Excel类里面建的是临时变量,根本不是你操作界面的类对象性,所以list肯定是空的。
不太弄mfc , 只提供给你个思路嘛,
1. 采用 在b 类中 A a = new A 然后 a->m_listctrl;
2. m_listctrl 设为 public 然后 b继承 A ;
看看能行不 , 不行当我没说