1.程序是一个基本对话框的程序,添加了一个WM_CLOSE消息能够在点击右上角的关闭按钮会实现程序功能(譬如说:弹出一个关闭消息)。
2.但是如果我点击对话框默认“确认”按钮,对话框也关闭了,但是却没有弹出预想的消息,是不是程序根本就没有真正的关闭。是否需要重写IDOK响应的函数,那么在ONOK函数中如何真正关闭这个应用程序。3.如果我要在程序实现响应键盘按键应该怎么添加消息。譬如说ALF+F4这样的组合键来关闭程序(在响应WM_CLOSE的函数里)。请高手不吝赐教。

解决方案 »

  1.   

    keybd_event(VK_MENU,0,0,0); keybd_event(VK_F4,0,0,0);
    keybd_event(VK_F4,0,KEYEVENTF_KEYUP,0);keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);
      

  2.   

    把你的WM_CLOSE的处理代码放到WM_DESTROY消息里面试试看
      

  3.   

    实验了一下,重写OnOK应该是可以得
    void CTestDlg::OnOK() 
    {
    // TODO: Add extra validation here
    SendMessage(WM_CLOSE,0,0);
    //CDialog::OnOK();
    }具体有没有更好的办法不知道
      

  4.   

    响应WM_CLOSE消息,再重载OnOK、OnCancel函数。Alt-F4就是WM_CLOSE消息。