我创建了一个动态窗口,这个窗口的关闭功能应该是仅限于关闭当前窗口,而不使主程序退出。
可是现在这个动态窗口的关闭功能会将主线程关闭,为什么?我该怎么解决呢?

解决方案 »

  1.   

    发送WM_CLOSE消息给你要的窗口!用::SendMessage(
                    HWND hWnd,      // handle of destination window
                    UINT Msg,       // message to send
                    WPARAM wParam,  // first message parameter
                    LPARAM lParam   // second message parameter
                   )其中的hWnd就是你要关闭的窗口句柄,可通过其m_hWnd得到,Msg就是WM_CLOSE
      

  2.   

    用GetDlgItem 和 SendMessage
      

  3.   

    还是不够详细。点哪个叉叉会后回系统会调OnClose和OnCancel,看看你是不是在这两个函数里面把主程序退了。
      

  4.   

    单独写你动态窗口的窗口过程函数,确保WM_DESTROY 和WM_CLOSE的响应不会使进程终止
      

  5.   

    OK,解决了。呵呵,我是写到OnCancel里去了。^ ^