两个类之间 操作CLISTCTRL解决方法

两个类之间 操作CLISTCTRL
class CGN6 : public CFormView
class CRZCX : public CFormView



我想做的事“CGN6”里 按一个按钮 可以操作“CRZCX”里的m_list

m_list是“CRZCX”的一个listctrl,report风格的。

class CGN6 里的一个按钮 里有段代码 就三行

{

CMainFrame *pMain=(CMainFrame *)AfxGetApp()->m_pMainWnd; 
CRZCX *pView=(CRZCX *)pMain->GetActiveView(); 

pView->m_list.InsertColumn(0,"日期",LVCFMT_CENTER,100);

}


第三行总出错……菜鸟求教

m_list.InsertColumn(0,"日期",LVCFMT_CENTER,100);
直接放到CRZCX里是没有任何问题的。

------解决方案--------------------
你断点调式pView有值么?
------解决方案--------------------
CRZCX *pView=(CRZCX *)pMain->GetActiveView(); 
这个不对,应该是主View
------解决方案--------------------
应该类似这么操作的:
CxxView *pView=(CxxView *)pMain->GetActiveView();
pView->m_CRZC->m_list.InsertColumn(0,"日期",LVCFMT_CENTER,100);
------解决方案--------------------
你应该可以得到CRZCX的句柄吧
发个自定义消息过去让他自己操作
------解决方案--------------------
要操作CRZCX,就要先得到它的指针。
估计CRZCX是在主View里定义的,所以先得到主View的指针
CxxView *pView=(CxxView *)pMain->GetActiveView(); 
然后再调用CRZCX的指针变量
pView->m_CRZC->m_list.InsertColumn(0,"日期",LVCFMT_CENTER,100);
------解决方案--------------------
按钮下的函数设置一个全局变量,通过变量 控制 m_list.InsertColumn(0,"日期",LVCFMT_CENTER,100);也可以啊
------解决方案--------------------
直接在CGN6定义一个指向CRZCX成员变量指针,这样也可以操作CRZCX