mfc 如何改变第一个要显示的对话框

RT我建立好了一个mfc的工程。现在我想要更改程序运行时首先显示的对话框。在initinstance中初始化的窗口是A,我现在尝试修改成B,但是各种报错,不知道哪里需要特... RT
我建立好了一个mfc的工程。 现在我想要更改程序运行时首先显示的对话框。
在initinstance中初始化的窗口是A,我现在尝试修改成B,但是各种报错,不知道哪里需要特别注意。代码如下:
BOOL CMyApp::InitInstance()
{
AfxEnableControlContainer();

#ifdef _AFXDLL
Enable3dControls();
#else
Enable3dControlsStatic();
#endif

// CLogin dlg; //这是原来的主对话框
CMyDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();

希望高手指点,指出还需修改哪里。
展开
 我来答
zhccsd
推荐于2017-10-10 · TA获得超过4042个赞
知道大有可为答主
回答量:1347
采纳率:66%
帮助的人:908万
展开全部
从你的代码看有点乱,如果CLogin是原来的主对话框的话那么这里应该是CLoginApp::InitInstance才对的,怎么会变成CMyApp呢,我直接说完整流程吧。

首先建一个工程,取名Test,基于对话框,其他默认。建好以后建一个对话框,双击加类,取名CLogin,然后找到Test.cpp,include Login.h,找到InitInstance,把CTestDlg dlg;改成CLoginDlg dlg;编译运行就可以了
追问
我就是按照这个流程做的。编译的时候程序崩溃:程序停止在mescpy_s.c 中位置:
errno_t __cdecl memcpy_s(
......
).......
memcpy(dst, src, count); //程序崩溃位置提示错误为0xc00000fd:stack overflow
return 0;
追答
memcpy报错?调试看dst, src, count三个参数分别是多少?另外你VS什么版本的?
bhtzu
2014-12-04 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4145万
展开全部
是不是,在InitInstance所在cpp源文件的头部,没有加上
#include "mydlg.h"
如果不是,把完整报错信息发上来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式