两个类之间 操作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
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