对话框跳转后消失,该怎么解决
对话框跳转后消失
现在有2个问题:
1.一个dlg类,我用模态创建的方式成功,用非模态的create方式直接除了异常,是怎么回事?
2.我想实现一个功能:A对话框跳到B对话框,然后A对话框消失。
------最佳解决方案--------------------
MAKEINTRESOURCE(IDD_TRAFMONITSERVER_DIALOG)
------其他解决方案--------------------
因为:
IDD_TRAFMONITSERVER_DIALOG是个数字。
如果对话框直接用名字你那样是可以的。
如:“TRAFMONITSERVER_DIALOG”
那个‘IDD’可以看出是 数字
------其他解决方案--------------------
A对话框,B对话框
你这种结构,B对话框不能是A对话框的子窗口。
B是 popup的,非child的,否则父窗口关闭时,它的子窗口也会关闭。
------其他解决方案--------------------
1:你要用指针
2:你显示b对话框后对a对话框showwindow(false);
------其他解决方案--------------------
‘非模态的create方式直接除了异常’
什么异常?
------其他解决方案--------------------
1.我是用的是指针;
2.我说的消失,不止是界面消失,而是这个对话框销毁。
------其他解决方案--------------------
1.非模态对话框代码如下:
dlg->Create("IDD_TRAFMONITSERVER_DIALOG", NULL );
dlg->ShowWindow(SW_SHOW);
在create地方直接异常:dlgcore.cpp at 213 line
------其他解决方案--------------------
1.什么异常?
2.你可以把父窗口设为桌面.GetDesktopWindow
------其他解决方案--------------------
"IDD_TRAFMONITSERVER_DIALOG"改为:
MAKERESOURCEINT(IDD_TRAFMONITSERVER_DIALOG)
------其他解决方案--------------------
这样不行啊,编译都不通过饿。。。。
------其他解决方案--------------------
代码太少没有办法知道是啥原因。
------其他解决方案--------------------
哇,好神奇也!就不出错了。请问为什么会这样呢?
------其他解决方案--------------------
现在我想让对话框跳转之后自己销毁,请问如何做到?
------其他解决方案--------------------
多谢schlafenhamster和stjay,现在就剩第二个问题:
我想实现一个功能:A对话框跳到B对话框,然后A对话框销毁(该对象从内存上消失)。
------其他解决方案--------------------
A对话框,B对话框,如果是Create出来的要保存指针。
m_pDlgA=Create
m_pDlgB=Create
有了指针,可以DestroyWindow。
m_pDlgA->DestroyWindow();
m_pDlgA=0;
------其他解决方案--------------------
我现在是从A对话框里创建B对话框,然后跳转到B对话框。A对话框销毁。
现在有2个问题:
1.一个dlg类,我用模态创建的方式成功,用非模态的create方式直接除了异常,是怎么回事?
2.我想实现一个功能:A对话框跳到B对话框,然后A对话框消失。
------最佳解决方案--------------------
MAKEINTRESOURCE(IDD_TRAFMONITSERVER_DIALOG)
------其他解决方案--------------------
因为:
IDD_TRAFMONITSERVER_DIALOG是个数字。
如果对话框直接用名字你那样是可以的。
如:“TRAFMONITSERVER_DIALOG”
那个‘IDD’可以看出是 数字
------其他解决方案--------------------
A对话框,B对话框
你这种结构,B对话框不能是A对话框的子窗口。
B是 popup的,非child的,否则父窗口关闭时,它的子窗口也会关闭。
------其他解决方案--------------------
1:你要用指针
2:你显示b对话框后对a对话框showwindow(false);
------其他解决方案--------------------
‘非模态的create方式直接除了异常’
什么异常?
------其他解决方案--------------------
1.我是用的是指针;
2.我说的消失,不止是界面消失,而是这个对话框销毁。
------其他解决方案--------------------
1.非模态对话框代码如下:
dlg->Create("IDD_TRAFMONITSERVER_DIALOG", NULL );
dlg->ShowWindow(SW_SHOW);
在create地方直接异常:dlgcore.cpp at 213 line
------其他解决方案--------------------
1.什么异常?
2.你可以把父窗口设为桌面.GetDesktopWindow
------其他解决方案--------------------
"IDD_TRAFMONITSERVER_DIALOG"改为:
MAKERESOURCEINT(IDD_TRAFMONITSERVER_DIALOG)
------其他解决方案--------------------
这样不行啊,编译都不通过饿。。。。
------其他解决方案--------------------
代码太少没有办法知道是啥原因。
------其他解决方案--------------------
哇,好神奇也!就不出错了。请问为什么会这样呢?
------其他解决方案--------------------
现在我想让对话框跳转之后自己销毁,请问如何做到?
------其他解决方案--------------------
多谢schlafenhamster和stjay,现在就剩第二个问题:
我想实现一个功能:A对话框跳到B对话框,然后A对话框销毁(该对象从内存上消失)。
------其他解决方案--------------------
A对话框,B对话框,如果是Create出来的要保存指针。
m_pDlgA=Create
m_pDlgB=Create
有了指针,可以DestroyWindow。
m_pDlgA->DestroyWindow();
m_pDlgA=0;
------其他解决方案--------------------
我现在是从A对话框里创建B对话框,然后跳转到B对话框。A对话框销毁。