怎么在程序中关闭一个窗口

leiyu_shi 2005-10-09 03:06:57
如果一个名为m_myWindow的窗口用m_myWindow.Domole();显示了出来,

用哪个函数可以把它再关掉。

谢谢指点
...全文
157 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
laofang 2005-10-25
  • 打赏
  • 举报
回复

对话框的"OK/确认"按钮会自动调整CDialog::OnOK(),后者会调用EndDialog关闭对话框.
deping_chen 2005-10-25
  • 打赏
  • 举报
回复
//用于关闭模态对话框的线程
static BOOL g_bTryToCloseModalDlg= FALSE;
UINT CloseModalDlg(LPVOID pParam )
{
Sleep(5000);//如果用户没有关闭,在5秒后关闭
char* WindowName = (char*)pParam;
while (g_bTryToCloseModalDlg)
{
CWnd* pWnd = CWnd::FindWindow("#32770", windowName);
if(pWnd )
{
pWnd ->SendMessage(WM_CLOSE);
}
Sleep(50);
}
return -1;
}

//弹出某个对话框
{
g_bTryToCloseModalDlg = TRUE;
AfxBeginThread(CloseModalDlg, DlgName);
dlg.DoModal();
g_bTryToCloseModalDlg = FALSE;
}
deping_chen 2005-10-25
  • 打赏
  • 举报
回复
在你调用DoModal之前一句,创建一个工作者线程,负责关闭该模态对话框。通过向该模态对话框发送WM_CLOSE消息。
wanshi_53 2005-10-24
  • 打赏
  • 举报
回复
你可以模拟WM_CLOSE消息即可!
关闭你所想的窗口
toumao 2005-10-23
  • 打赏
  • 举报
回复
我猜想楼主也有可能有以下要求:
不等用户点确定或取消,就要自动关闭。
那就用气泡提示好了。
guosenjuncs 2005-10-23
  • 打赏
  • 举报
回复
楼主可能不明白Domodal的含义,这个函数只有在用户结束对话框才返回的。所以你不要考虑如何结束它
legendhui 2005-10-09
  • 打赏
  • 举报
回复
模式对话框显示后,就进入了对话框的消息循环,只能在对话框里结束!
你可以这样判断
if(IDOK==m_myWindow.Domode())看对话框是否结束
wizard13 2005-10-09
  • 打赏
  • 举报
回复
void EndDialog( int nResult );
这个不行吗

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧