MFC基础问题

单文档结构,在其中自己建立一个模态对话框,想在模态对话框中得到当前的框架窗口的及当前视类窗口句柄.如何处理?还有.在当前对话框GetParent()得到的是不是应该是视类... 单文档结构,
在其中自己建立一个模态对话框,
想在模态对话框中得到当前的框架窗口的及当前视类窗口句柄.如何处理?
还有.在当前对话框GetParent()得到的是不是应该是视类窗口的句柄?

在当前对话框上用extern APP类theApp;
然后用theApp.m_pActiveWnd得到的是不是主框架的句柄?

GetActiveWindow();是不是得到当前视类窗口?

自己有点乱,用以上方法乱试,但是,发现,都未得出来当前的视类窗口.
请明白的人给点指点.谢谢了!!!
展开
 我来答
schenton
2008-04-22 · TA获得超过104个赞
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:163万
展开全部
10问题还真多...
1.获得当前框架和view类指针
CMainFrame* pFrame = (CMainFrame*)AfxGetApp()->m_pMainframe;
CYourView* pView = (CYourView*)pFrame->GetActiveView();
2.对头 是获得视类窗口指针 而不是句柄 要获取句柄 p->m_hWnd;
3.对头
4.GetActiveWindow() 是静态函数,GetActiveWindow返回线程的活动窗口。所以不一定返回当前视类窗口
百度网友46d2a63
2008-04-23 · TA获得超过572个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:157万
展开全部
*****
*****假设你这个模态对话框的类名是CModalDlg。CModalDlg构造函数原型如下:
CModalDlg(CWnd* pParent = NULL);
注意第一个参数,CWnd* pParent ,表示关联的父窗口指针,一般情况是不是很少用,在这就大有用处啦!假如你定义的CModalDlg对象出现在View的某个成员函数(消息响应函数或自定义函数)内部,CModalDlg第一个实参设置为this就可以了,同理在MainFrame类中使用CModalDlg的话也一样。
*****
*****不清楚你的原话中这句"单文档结构,
在其中自己建立一个模态对话框, ",“在其中”具体指哪?无论指哪都没关系,CModalDlg的父窗口建议设置为View对象。然后CModalDlg、View、MainFrame三者就是子、父、祖父三代关系了。在CModalDlg中,可以直接通过GetParent()访问View,通过GetParent()->GetParent()访问MainFrame。
*****
*****备注:View对象的获取可以用这句--GetActiveView().

参考资料: 达人归来... ...

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式