单文档中我是这样操作的,现在视类中打开对话框:CMyView::OnOpen()
{
CMyDlg dlg(this);
dlg.DoModal();
}
然后在对话框类中定义一个CWnd* m_pParnt指针,在构造函数中有:CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMyDlg::IDD, pParent)
{
m_pParent=pParent;
}
可是我发现通过这样的方法m_pParent根本取不到视类中的变量,请问这是怎么回事?
{
CMyDlg dlg(this);
dlg.DoModal();
}
然后在对话框类中定义一个CWnd* m_pParnt指针,在构造函数中有:CMyDlg::CMyDlg(CWnd* pParent /*=NULL*/)
: CDialog(CMyDlg::IDD, pParent)
{
m_pParent=pParent;
}
可是我发现通过这样的方法m_pParent根本取不到视类中的变量,请问这是怎么回事?
我换了一种方法,在对话框我的函数中如下操作:
{
CMyView* pView=(CMyView*)this->GetParnt();
....
}
结果发现pView指向的是CMainFrame,并不是CMyView,这又是怎么回事?又换了一种方法,我想这样操作,xxView *pView = (xxView *)(AfxGetMainWnd()->GetActiveView());按照这样操作,结果AfxGetMainWnd调用不到GetActiveView(),这又是怎么回事?哪位给再指点一下!
在对话框我的函数中如下操作:
{
CMyView* pView=(CMyView*)this- >GetParnt();
....
}
结果发现pView指向的是CMainFrame,并不是CMyView,这又是怎么回事? 又换了一种方法,我想这样操作,xxView *pView = (xxView *)(AfxGetMainWnd()- >GetActiveView());按照这样操作,结果AfxGetMainWnd调用不到GetActiveView(),哪位给再指点一下!