我在CVIW中像截取WM_CHAR事件
判断敲入的键是否是Q如果是发送WM_CLOSE消息。不过不知道为什么。不可以使程序退出。那个高手能够指点一下?
具体应该怎么实现?
void CVCOpenGLView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 
{
 if (nChar == 'q')
{
  PostMessage(WM_CLOSE);
}
CView::OnChar(nChar, nRepCnt, nFlags);
}
直接用exit(0);退出不可以。因为一些东西需要再Ondestry()里先释放的
在CMainFrame里面用PostMessage(WM_CLOSE);就可以退出。不知何故

解决方案 »

  1.   

    跟踪一下,看是否执行了OnChar()
      

  2.   

    向主框架:AfxGetMainWnd()->PostMessage(WM_CLOSE);
      

  3.   

    AfxGetMainWnd()->PostMessage(WM_CLOSE);
      

  4.   

    楼上几位应该已经帮你解决问题了。我估计是在视图类里面调用PostMessage(WM_CLOSE);只是关闭了视,而没有关闭框架窗口,而用AfxGetMainWnd()->PostMessage(WM_CLOSE);可以关闭整个框架窗口,当然也关闭视了。