怎么在view 视图中关闭程序 OnInitialUpdate

zhu6789888 2010-06-29 10:56:25
在OnInitialUpdate 函数,需要关闭程序,

//ExitProcess(0); 1
// CWnd * pWnd = AfxGetMainWnd(); 2
// pWnd->DestroyWindow();
//PostQuitMessage(0); 3

前两种会断言,3 会泄露很多

...全文
75 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhu6789888 2010-06-30
  • 打赏
  • 举报
回复
恩,确实要多学习和思考~
向立天 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zhu6789888 的回复:]
引用 10 楼 xianglitian 的回复:
引用 5 楼 zhu6789888 的回复:
引用 4 楼 xianglitian 的回复:
为什么在OnInitialUpdate关闭程序呢?
试试PostMessage一个自定义消息
然后在这个自定义消息里PostMessage(WM_CLOSE, 0, 0);

想初始化某些东西失败的时候,退出程序,
汗个~~,PostMes……
[/Quote]
客气了
其实11楼的方法更通用一些
也更值得你学习和思考
zhu6789888 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xianglitian 的回复:]
引用 5 楼 zhu6789888 的回复:
引用 4 楼 xianglitian 的回复:
为什么在OnInitialUpdate关闭程序呢?
试试PostMessage一个自定义消息
然后在这个自定义消息里PostMessage(WM_CLOSE, 0, 0);

想初始化某些东西失败的时候,退出程序,
汗个~~,PostMessage(WM_CLOSE, 0, 0);这句程序不……
[/Quote]

受教了,谢谢~~
jasonM2008 2010-06-29
  • 打赏
  • 举报
回复
PostMessage WM_CLOSE 试试!!
Eleven 2010-06-29
  • 打赏
  • 举报
回复
AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0);
???
向立天 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhu6789888 的回复:]
引用 4 楼 xianglitian 的回复:
为什么在OnInitialUpdate关闭程序呢?
试试PostMessage一个自定义消息
然后在这个自定义消息里PostMessage(WM_CLOSE, 0, 0);

想初始化某些东西失败的时候,退出程序,
汗个~~,PostMessage(WM_CLOSE, 0, 0);这句程序不会有任何反应
谢谢了,
[/Quote]
汗多是虚的表现
如果你一点不会变通那我觉得你不要干这行了
以下代码实现了你的需求
你好好看看吧
要知道怎么发消息,发给谁
void CTestView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();

GetParentFrame()->PostMessage(WM_CLOSE, 0, 0);
}
zhu6789888 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wangyt 的回复:]
用一个全局标志变量,当initialdialog失败后,就置这个标志变量,然后重载CWinApp::Run函数,在重载的Run函数中判断这个变量是否设置,如设置,就从run中返回推出。
我觉得这种方式比较合理。
[/Quote]

..........
雪影 2010-06-29
  • 打赏
  • 举报
回复
PostQuitMessage
ExitProcess
TerminateProcess
自己选一个退出进程
一名程序员 2010-06-29
  • 打赏
  • 举报
回复
用一个全局标志变量,当initialdialog失败后,就置这个标志变量,然后重载CWinApp::Run函数,在重载的Run函数中判断这个变量是否设置,如设置,就从run中返回推出。
我觉得这种方式比较合理。
Zimmerk 2010-06-29
  • 打赏
  • 举报
回复
用一个全局变量作标记,初始化失败,标记一下,初始化结束后程序判断退出
zhu6789888 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xianglitian 的回复:]
为什么在OnInitialUpdate关闭程序呢?
试试PostMessage一个自定义消息
然后在这个自定义消息里PostMessage(WM_CLOSE, 0, 0);
[/Quote]
想初始化某些东西失败的时候,退出程序,
汗个~~,PostMessage(WM_CLOSE, 0, 0);这句程序不会有任何反应
谢谢了,
向立天 2010-06-29
  • 打赏
  • 举报
回复
为什么在OnInitialUpdate关闭程序呢?
试试PostMessage一个自定义消息
然后在这个自定义消息里PostMessage(WM_CLOSE, 0, 0);
zhu6789888 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jasonm2008 的回复:]
PostMessage WM_CLOSE 试试!!
[/Quote]

不行,谢谢
雪影 2010-06-29
  • 打赏
  • 举报
回复
SendMessage(m_hWnd,WM_CLOSE,0,0);
=========================================
DefWindowProc收到WM_CLOSE后,调用DestroyWindow把窗口清除,DestroyWindow本身又会发出 WM_DESTROY,程序的WM_DESTROY的标准反应是调用PostQuitMessage,发出WM_QUIT,然后结束程序

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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