最好给出代码!

解决方案 »

  1.   

    有个笨方法Timer做
    if (this->IsIconic())
    {
    ShowWindow(SW_HIDE);
    }
      

  2.   

    CWnd::OnSize中,判断是否最小化了,然后再ShowWindow(SW_HIDE);
     当窗口大小变化时候,该函数就调用了啊 afx_msg void OnSize( UINT nType, int cx, int cy ); nType为SIZE_MINIMIZED时,就是最小化了窗口
      

  3.   

    void CMainFrame::OnSize(UINT nType, int cx, int cy) 
    {
    CFrameWnd::OnSize(nType, cx, cy); if( nType == SIZE_MINIMIZED )
        ShowWindow(SW_HIDE);
    }
      

  4.   

    UINT CMainFrame::OnNcHitTest(CPoint point) 
    {
       if(uiRtn ==HTMINBUTTON)
    {
    this->ShowWindow(SW_HIDE);
    }
     
    }
      

  5.   

    对话框用
    void CTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
    {
    if ((nID & 0xFFF0) == IDM_ABOUTBOX)
    {
    CAboutDlg dlgAbout;
    dlgAbout.DoModal(); 
    }
    else if( (nID & 0xFFF0) == SC_MINIMIZE )
    {
    ShowWindow( SW_HIDE );
    }
    else
    {
    CDialog::OnSysCommand(nID, lParam);
    }
    }
      

  6.   

    改写虚函数:
    LRESULT CMainFrame::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if ( message == WM_SYSCOMMAND ){ if ( wParam  == SC_MINIMIZE ){
    // 处理最小化消息
    ShowWindow(SW_HIDE);

    return TRUE;
    } } return CFrameWnd::DefWindowProc(message, wParam, lParam);}
    同理,对以下消息也有效
    // SC_CLOSE 关闭
    // SC_MAXIMIZE 最大化按钮
      

  7.   

    前面我的回复有误
    void CMainFrame::OnNcLButtonDown(UINT nHitTest, CPoint point) 
    {
    if(nHitTest ==HTMINBUTTON)
             {
                  this->ShowWindow(SW_HIDE);
             }
    else
         CFrameWnd::OnNcLButtonDown(nHitTest, point);}
    前面我的回复有误
      

  8.   

    void CSIMTOOLDlg::OnSysCommand(UINT nID, LPARAM lParam)
    {
    switch(nID)
    {
    case SC_MINIMIZE:
    ShowWindow(SW_HIDE);   // 隐藏窗体
    break;
    case 61536:
    if (MessageBox("确定要退出此软件?", "AWS",MB_YESNO|MB_ICONQUESTION) == IDNO)
    {
    return;
    }
    //m_StatPage.SetInfo(m_ConnTime, m_sSpeed, m_sSent, m_sRecv);
    theApp.HandUpConn();
    SetConnStatus(FALSE);
    //SetStatusText("网络连接已断开");
    OnClose();
    OnOK();
    break;
    default:
    CDialog::OnSysCommand(nID, lParam);
    break;
    }
    }