+ -
当前位置:首页 → 问答吧 → MDI下创建CDialog对话框的问题

MDI下创建CDialog对话框的问题

时间:2011-12-22

来源:互联网

我在MDI下添加一个基于CDialog的对话框,style为child,Border为Resizing。
通过MDI的菜单响应如下:
C/C++ code

CMyDialog dialog=new CMyDialog;
dialog.Create(IDD_DIALOG);
dialog.ShowWindow(SW_SHOW);


通过跟踪,发现程序首先new,接着进入CMyDialog的构造函数,接着进入OnInitDialog,然后再ShowWindow,我还没看到窗口出来,接着程序马上又跑去析构了,怎么会这样子呢?
该怎样创建基于CDialog的对话框 ?

作者: lrypower   发布时间: 2011-12-22

CMyDialog dialog=new CMyDialog;
dialog.Create(IDD_DIALOG);
dialog.ShowWindow(SW_SHOW);

你的dialog是指针,怎么编译没报错?

作者: VisualEleven   发布时间: 2011-12-22

引用 1 楼 visualeleven 的回复:

CMyDialog dialog=new CMyDialog;
dialog.Create(IDD_DIALOG);
dialog.ShowWindow(SW_SHOW);

你的dialog是指针,怎么编译没报错?

很奇怪哦,你说得对,我这样确实没有报错,能正常运行,调用之后就析构了
我按你的说法改成了指针,窗口虽然出来了,却没有焦点,怎样让它获得焦点?以后点击的话怎样让它获取焦点呢?

作者: lrypower   发布时间: 2011-12-22