我知道在关闭On_Close里可以处理一些事件,可是我想获取最小化按钮的消息怎么得到那?请高手说详细些!

解决方案 »

  1.   

    先确保你的程序有最小化按钮(废话^_^),然后按下Ctrl+W,在MFC ClassWizard对话框切换到Class Info标签,在Message filter组合框中选择“Windows”,再把标签切换到Message Maps标签,在Object IDs中选择C****Dlg(****为你的工程名),接着在右侧的Messages中找到WM_SYSCOMMAND这一项,双击它,MFC ClassWizard就会帮你自动在下面的Member functions中加上它的响应函数:OnSysCommand ON_WM_SYSCOMMAND,接着再双击这个OnSysCommand ON_WM_SYSCOMMAND,真正进入这个消息的响应函数中,再自己添加代码实现你的功能:void CMMDlg::OnSysCommand(UINT nID, LPARAM lParam) 
    {
    // TODO: Add your message handler code here and/or call default
    if(SC_MINIMIZE==nID)
    {
    //在这里自己添加响应的代码,下面以弹出个消息框为例
    AfxMessageBox("你点击了最小化按钮");
    }
    CDialog::OnSysCommand(nID, lParam);
    }
      

  2.   

    用class wizard在添加OnSYSCOMMAND消息
    void CDrSmartDlg::OnSysCommand(UINT nID, LPARAM lParam) 
    {
    if(SC_MINIMIZE==nID)
    {
       MessageBox("capture");
    }
    CDialog::OnSysCommand(nID, lParam);
    }