单文档程序中,想给右上角的最大化、最小化按钮写自己的处理函数,但不知按下它们会发出什么消息.

解决方案 »

  1.   

    void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)
    {
       if(nID==SC_CLOSE)
    AfxMessageBox(_T("Close"));
       if(nID==SC_MAXIMIZE)
             AfxMessageBox(_T("Maximize"));   if(nID==SC_MINIMIZE)
       AfxMessageBox(_T("Minimize"));
       CFrameWnd::OnSysCommand(nID, lParam);

    }
      

  2.   

    怎么添加OnSysCommand(UINT nID, LPARAM lParam)函数?
      

  3.   

    重载CMainFrame::WindowProcLRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class if(message==WM_SYSCOMMAND&&wParam==SC_MINIMIZE)
    {
    AfxMessageBox("最小化了");
    return 0;
    } if(message==WM_SYSCOMMAND&&wParam==SC_CLOSE)
    {
    AfxMessageBox("关闭");
    return 0;
    } if(message==WM_SYSCOMMAND&&wParam==SC_MAXIMIZE)
    {
    AfxMessageBox("最大化");
    return 0;
    }

    return CFrameWnd::WindowProc(message, wParam, lParam);
    }