VC++关闭对话框的语句是什么?

练习弹出一个新对话框后,原来的对话框关闭。弹出是成功了,但原来那个没关闭,CDialog::OnOK(); CDialog::OnCancel();都不行
怎样在弹出新的后关闭原来的?
是MFC的,DoModal()能弹出新的,但原来的还在,没有自动关闭

第1个回答  2010-12-17
如果你这个 原来的对话框是个CDialog或其子类的话。可以用EndDialog成员函数。
在弹出新对话框时要用Create调用时pParentWnd 参数要为NULL。在Create 之后调用EndDialog就可以关闭原来的对话框了。
第2个回答  2010-12-17
CloseWindow(HWND) 这个API是最小化窗口,这个是销毁窗口 DestroyWindow(Hwnd)本回答被网友采纳
第3个回答  2010-12-17
不知道你是MFC 还是API 也不知道你的是模态对话框还是非模态对话框 如果是MFC 模态对话框 用DoModal()的时候会自动销毁.. API的话应该要什么DestoryWindow 吧....多查查MSDN....

VC++关闭对话框的语句是什么?
如果你这个 原来的对话框是个CDialog或其子类的话。可以用EndDialog成员函数。在弹出新对话框时要用Create调用时pParentWnd 参数要为NULL。在Create 之后调用EndDialog就可以关闭原来的对话框了。

在VC++的MFC对话框中,怎样显示一个对话框
CDialog::OnOK();\/\/关闭本对话框,如果你不要关闭本对话框,请注释掉 HWND ParentWnd=::GetParent(this->m_hWnd);::PostMessage(ParentWnd,WM_MyMessage,0,0);2.然后在此源文件申明中加上:define WM_MyMessage WM_USER+100 3.在父对话框类中添加相同的申明:define WM_MyMessage WM_USER+...

VC++中想要在关闭时弹出确认对话框应该怎么做
模态对话框的确定和取消按钮,调用的是EndDialog来结束对话框,不会触发WM_CLOSE消息,因此,要在两个按钮响应消息OnOK和OnCancel中进行确认提示,以OnOK为例:void CDialog1::OnOK() { if(IDOK==AfxMessageBox(_T("您确定要退出吗"),MB_OKCANCEL))CDialogEx::OnOK();}需要注意的是,即使是模态...

VC++ 如何实现对话框的注销和切换用户?
那就是把对话框隐藏下,然后sleep几秒,把对话框上的控件变量全部初始化到你定义的默认状态,然后再显示出来。只能这么模拟注销了,非要关闭程序再执行程序,那你要写2个程序了-_,-要不你程序都退出了,还怎么执行后面的代码。。--- 那不是还是要隐藏主对话框,然后改控件变量值(换用户名),然后...

VC++如何实现 弹出窗口,然后等窗口关闭后再执行剩下的代码?
如果是模态对话框就简单了 CxxDlg dlg;if(dlg.DoModal()==IDOK || dlg.DoModal()==IDCANCEL){ \/\/你的代码 } 非模态的话,有两个思路,可以在子对话框关闭的时候给父窗口发送消息 CxxDlg dlg(父对话框的句柄);if(!dlg.m_hWnd) dlg.Create(IDD_XXX);dlg.ShowWIndow(SW_SHOW);子对话框...

怎样去掉 vc++ 的 对话框 右上角的关闭按钮??
对话框模板属性中设置System Menu 为False

windows窗口应用程序按关闭时出现对话框怎么做?(用VC++2010)
不就是加个case 处理WM_CLOSE消息嘛 case WM_CLOSE:if(IDYES == MessageBox(hwnd, TEXT("1退出请点【是】"), TEXT("是否退出?"), MB_YESNO)){ PostQuitMessage (0) ;} return 0;

VC++中,窗口的最大化,最小化和关闭,分别触发什么事件,如何判断这些事件...
窗口的最大化、最小化时一般会触发:WM_GETMINMAXINFO,WM_SIZE,WM_SIZING等消息窗口的关闭正常情况下会触发:WM_DESTROY当然你完全有权力修改促发它们的时机,所以以上只是一般情况;一般情况下是在消息处理过程中进行判断,如:LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)...

【vc++】对话框编程中,右上角的退出如何自己实现
如果是对话框,CDialog::OnOk();CDialog::OnCancel();都是退出,内部调用了 EndDialog()。如果是FrameWnd,使用 PostQuitMessage;对话框也可以使用 PostQuitMessage

用vc++6.0,弹出对话框60秒倒计时开始,完成倒计时后关闭此对话框。
1,1000,NULL)在对话框的SetTimer()函数中加入:static int time=60;CString strTime;strTime.Format("%d",time);\/\/这里随便你怎么显示,用SetWindowTextA也行,设置变量关联也行 m_time=strTime;UpdateData(0);time--;if(time==0)SendMessage(WM_CLOSE,0,0);CDialog::OnTimer(nIDEvent);...

相似回答