分割视之间如何互相调用对方的Class member
我有一个分割视,分别是CMyTreeView和CMyListView,如何在CMyTreeView里调用CMyListView的成员函数?谢谢
问题点数:100、回复次数:9Top
1 楼ecore(电子内核)回复于 2000-11-08 16:39:00 得分 0
不太清楚你的意思。
不过我认为至少可以:
定义一个自定义消息,在CMyListView里处理这个消息,(WParam复用为不同的函数调用)
在CMyTreeView里就发消息调用啦。
还有,要是就是想调用函数的话,可以用friend类啊。Top
2 楼sxbyl(sxbyl)回复于 2000-11-08 17:26:00 得分 0
你可以在框架窗口或CWinApp中保存这两个类的指针,框架窗口指针和CWinApp指针都是很容易得到的,然后就不用说了吧。Top
3 楼easypaper()回复于 2000-11-08 18:05:00 得分 0
可以试一试:
在CMyTreeView里面:
CDocument *pDoc = GetDocument();
ASSERT(pDoc);
POSITION pos = pDoc->GetFirstViewPosition();
CView* pView = NULL;
while (pos != NULL)
{
pView = GetNextView(pos);
if (pView->IsRuntimeClass(CMyTreeView))
break;
pView->UpdateWindow();
}
if (!pView)
return;
CMyTreeView *pTreeView = (CMyTreeView *)pTreeView;
while(
Top
4 楼easypaper()回复于 2000-11-08 18:06:00 得分 0
可以试一试:
在CMyTreeView里面:
CDocument *pDoc = GetDocument();
ASSERT(pDoc);
POSITION pos = pDoc->GetFirstViewPosition();
CView* pView = NULL;
while (pos != NULL)
{
pView = GetNextView(pos);
if (pView->IsRuntimeClass(CMyTreeView))
break;
}
if (!pView)
return;
CMyTreeView *pTreeView = (CMyTreeView *)pTreeView;Top
5 楼easypaper()回复于 2000-11-08 18:07:00 得分 0
可以试一试:
在CMyTreeView里面:
CDocument *pDoc = GetDocument();
ASSERT(pDoc);
POSITION pos = pDoc->GetFirstViewPosition();
CView* pView = NULL;
bool bFound = false;
while (pos != NULL)
{
pView = GetNextView(pos);
if (pView->IsRuntimeClass(CMyTreeView))
{
bFound = true;
break;
}
}
if (!bFound)
return;
CMyTreeView *pTreeView = (CMyTreeView *)pTreeView;Top
6 楼easypaper()回复于 2000-11-08 18:14:00 得分 0
不好意思,csdn一直提示我出现错误,结果发出了这么多贴子。Top
7 楼dingsg(丁丁)回复于 2000-11-08 18:30:00 得分 0
视切换,
指针切换,
就可以互相调用!Top
8 楼peasant()回复于 2000-11-08 19:16:00 得分 0
如同上面所述,遍历视,用isruntimeclass来判断是否是CMyTreeView类的指针。Top
9 楼wuxin(wuxin)回复于 2000-11-08 19:40:00 得分 50
在CMyTreeView里:
CMyListView* pView = (CMyListView*)((CSplitterWnd*)GetParent())->GetPane(0,1);
ASSERT_KINDOF(CMyListView, pView);
pView->func();Top
10 楼alphagx(alpha)回复于 2000-11-08 21:02:00 得分 0
我也有一种办法,只不过比较容易理解
在CMyTreeView中
假设你mSplitterWnd是你用来分割窗体的CSplitterWnd类
CMainFrame * frm;
frm = (CMainFrame *)::AfxGetMainWnd();
CMyListView *pView = (CMyListView *)frm.mSplitterWnd.GetPane(0,1);Top
相关问题
- class member 调用问题
- unit,class,调用
- class的调用问题
- static class member在调用的时候是不是必须前面要有作用域说明
- jni调用时找不到class
- 请问,如果一个class的static data member是另一个class,那么,这个static data member的destructor什么时候被调用?
- 在调用datetime函数取系统当前时间,如何把其年、月、日分割开来?
- javabean的class中可以调用一个函数,jsp页面中可以调用本页面函数么?
- 怎么在jsp中调用一般的class
- vc编写的dll,export了一个class,dephi可以调用吗?




