MFC获取View类指针
来源:互联网 发布:淘宝刷粉丝软件手机版 编辑:程序博客网 时间:2024/05/24 06:26
现在知道的有三种方法:
在当前使用的类中添加如下代码:
CMainFrame* pFrame=(CMainFrame*)AfxGetMainWnd();
CListCtrlView* pView = (CListCtrlView*)pFrame->GetActiveView();
2.view类中有相同的功能,或要循环访问各个view类,此时可以采用这种方法。
在当前使用的类中添加如下代码:
POSITION POS;
POS = AfxGetApp()->GetFirstDocTemplatePosition();
CDocTemplate* pDocTemplate = AfxGetApp()->GetNextDocTemplate(POS);
POS = pDocTemplate->GetFirstDocPosition();
CDocument* pDoc=pDocTemplate->GetNextDoc(POS);
POS = pDoc->GetFirstViewPosition();
CView* pView;
while (POS != NULL)
{
pView=(CView*)pDoc->GetNextView(POS);
if( pView->IsKindOf( RUNTIME_CLASS(CListCtrlView) ) )
{
//添加自己的处理代码 ;
}
}
3.最后一种,也是我遇到的一种,要在CMainFrame中只访问多个view类中的特定的一个view类。
前提条件:进行了窗口的切分。
(1)在MainFrame.h中定义各个view类的指针,如:CListCtrlView* pListView;CWinPcapView* pCapView;
(2)在OnCreateClient函数中添加代码(注意:要在完成切割后添加)。如:
//切分窗口的语句:
if(m_SplitWnd.CreateStatic(this,1,2) == NULL)
return TRUE;
m_SplitWnd.CreateView(0,0,RUNTIME_CLASS(CListCtrlView),CSize(80,0),pContext);
m_SplitWnd.CreateView(0,1,RUNTIME_CLASS(CWinPcapView),CSize(200,0),pContext);
pListView=(CListCtrlView*)m_SplitWnd.GetPane(0,0); //该句得到CListView类的指针
如此就可以在其他函数中用这个CListView类的指针了。
使用的方法是:首先取得CMainFrame类的指针,得到该类中我们想要的指针变量。如:
CMainFrame* pFrame=(CMainFrame*)AfxGetMainWnd();
CListCtrlView* pView = (CListCtrlView*)pFrame->pListView;
- MFC获取View类指针
- MFC获取View类指针
- MFC View类对话框类之间指针的相互获取
- MFC 获取App,Doc,MainFrame,View指针
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- MFC中获取App,MainFrame,Doc和View类等指针的方法
- MFC获取视图类指针
- MFC CArchive类的使用和数据序列化以及doc、view、frame指针的相互获取
- 对话框中获取View类指针
- MFC中获取各种类指针
- VC/MFC获取其他类的指针
- MFC类之间获取指针的方法
- MFC/VC 获取其他类指针
- 批处理 setlocal和endlocal
- 12-4-19关于c++动态的概念 | 返回引用的情况
- 2012第16周移动游戏榜单变化
- linux 用户管理
- VMWARE adb 不能识别USB
- MFC获取View类指针
- 集成Slice2Java插件
- POJ 2752--Seek the Name, Seek the Fame (next)
- centos下ddd的安装
- AR的一些常见的操作
- 记一次内存释放调试经历
- Linux操作系统下三种配置环境变量的方法(linux下几种profile执行顺序)
- 程序托盘
- ALM Platfrom Loader v11