VC中窗口指针的关系以及相互调用
来源:互联网 发布:mysql root登录不了 编辑:程序博客网 时间:2024/05/16 11:26
1.子对话框中调用CMainFrame类和CView类
通常调用是在View类中调用对话框的对象,但是大多时候还是需要在子对话框中调用View类中的成员变量,那么我们如何获取View类的指针?在这里存在一个互相包含的问题——View类中包含子对话框的头文件,子对话框中包含View类的头文件。直接包含将会引起错误,如何解决这个问题,下面会解决这个问题。
首先子对话框中调用CView对象指针有两种方法:
准备工作:
首先需要在对话框的头文件中声明View类:
在对话框的头文件中添加下面一条语句:
class NW104View;//类的前向声明然后在对话框的.cpp文件中添加包含语句
#include "MainFrm.h"#include "NW104Doc.h"#include "NW104View.h"
(1)通过全局对象获取CView对象的指针
定义一个View指针:
CNW104View *m_pMyView = (CNW104View *)((CMainFrame *)theApp.GetMainWnd())->GetActiveView();m_pMyView->messageDlg = NULL;其中messageDlg为View类成员变量,这样就可以调用View类中的成员。
(2)通过CMainframe获取CView对象的指针
添加头文件
#include "MainFrame.h"
CMainFrame *pmain = (CMainFrame *)AfxGetApp()->m_pMainWnd;CNW104View *pview = (CNW104View *)pmain->GetActiveView();pview->messageDlg = NULL;其中messageDlg为View类中的成员变量。
(3)对话框关闭时各个函数调用
(1)点击IDOK按钮退出:先调用OnOK(),然后是OnDestory(),最后是PostNcDestroy() (2)点击IDCANCEL按钮退出:先调用OnCancel(),然后是OnDestory(),最后是PostNcDestroy() (3)点击右上角的关闭按钮退出:先OnClose(),然后是OnCancel(),再然后是OnDestory() ,最后是PostNcDestroy()
0 0
- VC中窗口指针的关系以及相互调用
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Window 中窗口的层次关系以及窗口的属性
- Windows 中窗口的层次关系以及窗口的属性
- VC中窗口ID,句柄,指针三者相互转换函数
- VC中窗口ID,句柄,指针三者相互转换函数
- 白莲教(
- 给明年依然年轻的我们:欲望、外界、标签、天才、时间、人生目标、现实、后悔、和经历
- vware server+redhat5.4+asm
- 主机iis配置了站点域名,虚拟机如何访问主机站点
- 苹果发布全新编程语言之Swift编程语言开发新手入门基础教程
- VC中窗口指针的关系以及相互调用
- Hadoop配置项(hdfs-site.xml)
- 总结(持续整理中。。。)
- PHP 根据IP地址获取所在城市
- 那场雨落进谁的心里
- 不存在介意不介意,只是有点小小的遗憾而已
- PIC18F4520 + NRF24L01
- 关于Spring的69个面试问答——终极列表
- 深入理解ServletRequest与ServletResponse