dkfr.net
当前位置:首页 >> MFC窗口没有显示就关闭 >>

MFC窗口没有显示就关闭

修改ShowWindow是没有用的 关键在InitInstance函数, 如果这个函数返回,无论是 返回 TRUE 还是FALSE,那么程序都会结束。 你的程序已经属于MFC,因为你用了CWinApp 等类, 你可以在return TRUE 之前 加入 Sleep(5000); 阻塞一下。

在DoModal弹出的对话框的定时器WM_TIMER响应函数OnTimer中调用CDialog::OnOK(); 在该对话框的OnInitDialog中SetTimer(1,5000,NULL); 启动定时器即可。

在对话框设计窗口,右键打开属性窗口,sys menu这个栏可以设置为true。

看看你的.rc文件里有没有那个对话框的声明

退出程序用 AfxGetMainWnd()->SendMessage(WM_CLOSE); 关闭当前窗口 用 DestroyWindow( ); 关闭模式对话框用 EndDialog(0);

描述有些模糊。最关键的窗口关系没有描绘。 首先要确认“所有打开的非模态对话框”和主窗口的关系,如果这些对话框没有指明父窗口甚至存在其它多个父窗口,并且对话框的声明都是临时的,那么这个事情没法做。 如果所有对话框的父窗口都是同一个主...

参考代码如下: 处理WM_CLOSE消息,CYourDlg::OnClose() { if(::MessageBox(NULL, 确定要退出吗?","程序退出", MB_YESNO) == IDYES) { CDialog::OnCLose(); //OnCLose事件 } }

1. 点“确定”、“取消”时的关闭路由为 OnOK()或OnCancel() ---> EndDialog() ---> DestroyWindow() ---> OnDestroy() ---> PostNcDestroy() 2. 点“关闭”标题栏按钮的关闭路由为 OnClose()---> OnCancel() ---> EndDialog() ---> DestroyWindow() -...

用IsWindow()判断窗口句柄是否有效。http://msdn.microsoft.com/en-us/library/ms633528(VS.85).aspx 用IsWindowVisible()判断窗口是否可见。http://msdn.microsoft.com/en-us/library/ms633530(VS.85).aspx 所以这个判断条件可以这么写: if (!...

在该按钮的响应函数中加入任意一个: CDialog::OnCancel(); CDialog::OnOK(); CDialog::OnClose(); 或者sendmessage或postmessage,发送WM_CLOSE消息

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com