在主视窗CTeenView中新建了4个子窗口(CFormView类型)
int CTeenView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1; AddView(RUNTIME_CLASS(CSoftView), _T("SQL"), 0);
AddView(RUNTIME_CLASS(CHardView), _T("ACCESS"), 1);
AddView(RUNTIME_CLASS(CGameView), _T("PHP"), 2);
AddView(RUNTIME_CLASS(CProgView), _T("JSP"), 3); return 0;
}
现在我想要调用CSoftView中的ShowList()函数,应该怎么调用。
我试过:(*CFormView)CSoftView->ShowList() 不行。
int CTeenView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1; AddView(RUNTIME_CLASS(CSoftView), _T("SQL"), 0);
AddView(RUNTIME_CLASS(CHardView), _T("ACCESS"), 1);
AddView(RUNTIME_CLASS(CGameView), _T("PHP"), 2);
AddView(RUNTIME_CLASS(CProgView), _T("JSP"), 3); return 0;
}
现在我想要调用CSoftView中的ShowList()函数,应该怎么调用。
我试过:(*CFormView)CSoftView->ShowList() 不行。
((*CFormView)CSoftView)->ShowList() 符号的优先级没弄好``呵
((CFormView*)CSoftView)->ShowList()
error C2226: 语法错误 : 意外的“CSoftView”类型
你要调用的方法是不是一个public函数?如果是的话```则这样
CSoftView::->ShowList()
而且这个函数不可以涉及到类的成员变量```
最好就是取到你的CSoftView的对象,然后再调用
int CTeenView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;CRuntimeClass* temp;
AddView((temp=RUNTIME_CLASS(CSoftView)), _T("SQL"), 0);
AddView(RUNTIME_CLASS(CHardView), _T("ACCESS"), 1);
AddView(RUNTIME_CLASS(CGameView), _T("PHP"), 2);
AddView(RUNTIME_CLASS(CProgView), _T("JSP"), 3);
((CSoftView*)temp)->ShowList();return 0;
}不知道对不对