热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

对话框中获取View类指针

解决问题:View类的菜单中打开Dialog,并将Dialog的值传回View类解决方案:设Dialog类为Judge,View类为CVMFCView1.Judge.h中定义一个C**

解决问题:View类的菜单中打开Dialog,并将Dialog的值传回View类

解决方案:

设Dialog类为Judge,View类为CVMFCView

1.Judge.h 中定义一个C****View*类变量:CCVMFCView* pMain;
2. 在Judge类中添加函数 OnShowDialog(CCVMFCView* pview),代替Domodal

void CJudge::OnShowDialog(CCVMFCView* pview)
{
pMain=pview;
DoModal();
}
这样就将pMain用pview代替了。那么怎么将CVMFCView的对象指针传到pview呢?见下一步。

3.CVMFCView中的菜单响应函数写成

void CCVMFCView::OnSelectResult()
{
CJudge dlg;
dlg.OnShowDialog(this);
}
大功告成!
以后再在对话框Judge.cpp中使用View类的函数即可用pMain直接调用。

====================================================================

另外还有一种方法获取View类指针,但有时候不work,因为获取方法不对的话View类指针可能指向空值

CMainFrame*   pFrame=(CMainFrame*)AfxGetMainWnd();   
CListCtrlView* pView = (CListCtrlView*)pFrame->GetActiveView();



推荐阅读
author-avatar
Yyao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有