VS2017 MFC 如何调用其他类的ListCtrl信息?

因工作需要自学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的信息?

2个回答

看了题主代码,实际上就是个值域问题,你在Excel类里面建的是临时变量,根本不是你操作界面的类对象性,所以list肯定是空的。

不太弄mfc , 只提供给你个思路嘛,

1. 采用 在b 类中 A a = new A 然后 a->m_listctrl;
2. m_listctrl 设为 public 然后 b继承 A ;
看看能行不 , 不行当我没说

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问