MFC中如何实现对话框的转换

 我来答
手机用户36376
2011-03-05 · TA获得超过327个赞
知道答主
回答量:183
采纳率:100%
帮助的人:125万
展开全部
里调用::AfxGetMainWnd()
然后把上一步得到的指针强制类型转换为CFrameWnd*型
最后调用CFrameWnd::GetActiveDocument();
代码如下

CFrameWnd* FrameWnd=(CFrameWnd*)::AfxGetMainWnd();
CDocument* pDoc=FrameWnd->GetActiveDocument();
到这里pDoc就是你要的至于把它变成你的文档类型那就是举手之劳了。这个方法对SDI架构有效对MDI没用。因为MDI里用AfxGetMainWnd得到的是CMDIFrameWnd.

另一个问题,从ON_MESSAGE(WM_USER_DIALOG_DESTROYED),OnDialogDestroyed);
这个可以看到很多信息,
首先WM_USER_DIALOG_DESTROYED这个消息的前缀WM_USER_很明确的指出这是个用户自定义消息。所以它的定义就在那个出现这个常量的CPP文件最开头链接的那些.h文件里面。去找吧。
其次ON_MESSAGE这个宏,最基本的用法就是把用户自定义消息和消息响映函数关联起来。
最后,如果你经验丰富的话可以一眼看出来,在CDialog类里只有WM_DESTROY消息和它的响应函数OnDestroy。跟摧毁有关的还有一个就是DestroyWindow。根本就没有名叫OnDialogDestroyed的函数。
所以OnDialogDestroyed这一定是一个自定义消息的响应函数

所以它的值是多少一点也不重要,重要的是它在哪里定义。这样你用它的时候才能把它声明了。

你链接的那个页面实在是没明白你想怎样,你都玩到SetupAPI了怎么还在这个问题上打结啊。最后再说一点第三个对话框干吗非得无模态,DoModal一下不就得了。
0o0pp
2011-03-02 · TA获得超过128个赞
知道小有建树答主
回答量:220
采纳率:100%
帮助的人:62.6万
展开全部
需要详细描述一下你的问题
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式