MFC基于对话框创建非模态子对话框的问题

2024年12月01日 09:58
有2个网友回答
网友(1):

创建非模态的话得要三步
在主对话框类头文件中添加非模态对话框的对象成员 dlg
dlg.creat(IDD_DIALOG2,this)(这句放在主对话框的OnInitialDlg),
dlg.MoveWindow(),
dlg.ShowWindow(true)
我看了你得想法 先出来子对话框?方法有2中
1,也就是MFC自动创建的对话框作为最先弹出来的“子”对话框,再在这个对话框里弹出上面创建的对话框(作为你的主对话框来显示游戏),然后在隐藏上一个对话框。
2,找到XXXApp::InitInstance()函数更改源码,替换这里的主对话框为你的子对话框。然后在你的子对话框的初始化函数里创建MFC自动创建的对话框的类对象,按照上面三部曲创建非模态对话框。(你应该可以发现其实MFC主框其实就是一个模态框,而且MFC创建主框只简单的调用了domodel)

网友(2):

图崩了。。。。。