MFC重载关闭按钮

首先介绍一下WindowProc函数。

函数功能:该函数是一个应用程序定义的函数。它处理发送给窗口的消息。WNDPROC类型定义了一个指向该回调函数的指针。WindowProc是用于应用程序定义函数的占位符。

函数原型:

LRESULT CALLBACK WindowProc (HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM IParam);

参数:

hwnd:指向窗口的句柄。

uMsg:指定消息类型。

wParam:指定其余的、消息特定的信息。该参数的内容与UMsg参数值有关。

IParam:指定其余的、消息特定的信息。该参数的内容与uMsg参数值有关。

返回值:返回值就是消息处理结果,它与发送的消息有关。

通过重写这个函数,我们可以自定义窗口消息响应。

  1. LRESULT CCheckUpdatealpha1Dlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)  
    {  
        // TODO: 在此添加专用代码和/或调用基类  
        switch(message)  
        {  
            //如果是系统消息   
        case WM_SYSCOMMAND:   
            {  
                if(wParam==SC_CLOSE)  
                {   
                    //接收到最小化消息时主窗口隐藏   
                    AfxGetApp()->m_pMainWnd->ShowWindow(SW_HIDE);  
                    return 0;  
                }  
                break;   
            }  
        }   
        return CDialog::WindowProc(message, wParam, lParam);  
    }  
     
    

      

通过这段代码,当单击右上角的关闭按钮式,窗口只是隐藏了,而不是销毁。

原文地址:https://www.cnblogs.com/Browneyes/p/6077750.html