我需要不停的重画一个控件,但如果它不被显示的话,当然就不用重画了。

解决方案 »

  1.   

    你放在它的OnPaint里不就行了?
    需要重画的时候会自动重画的啊。
      

  2.   

    BOOL CCodMain::OnNcActivate( BOOL bActive )
    {
    if(bActive==false)
    {
    g_bVisible=false;//失去焦点后做标志
    m_msg="失去焦点";
    SetDlgItemText(txtMsg,m_msg);
    //UpdateWindow();
    }
    return true;
    }
    void CCodMain::OnActivate( UINT nState, CWnd* pWndOther, BOOL bMinimized )
    {
    //ShowWindow(SW_SHOW);
    if(nState==WA_ACTIVE)
    {
    g_bVisible=true;//失去焦点后做标志
    m_msg="获得焦点";
    SetDlgItemText(txtMsg,m_msg);
    //UpdateWindow();
    }
    }
      

  3.   

    我需要不停的重画一个控件,但如果它不被显示的话,当然就不用重画了。
    __________
    你只管在ONPAINT你们重画就好了, WINDOWS会为你判断的.
      

  4.   

    你只管在ONPAINT里面重画就好了, WINDOWS会为你判断的.
      

  5.   

    是啊,在OnPaint里写就可以了。