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

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

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

谢谢指点
...全文
123 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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 );
这个不行吗
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2005-10-09 03:06
社区公告
暂无公告