怎样把DrawRect函数插入到OnTimer函数里
void CNecDlg::DrawRect(CDC *pDC,const CRect &rc)
{
pDC->MoveTo(rc.left,rc.top);
pDC->LineTo(rc.right,rc.top);
pDC->LineTo(rc.right,rc.bottom);
pDC->LineTo(rc.left,rc.bottom);
pDC->LineTo(rc.left,rc.top);
}
void CNecDlg::OnTimer(UINT nIDEvent) 
{
     DrawMenu(m_nMenuIndex,true);
     DrawButton(m_nButtonIndex);

     CDialog::OnTimer(nIDEvent);
}

解决方案 »

  1.   

    看了N久才明白你的意思,EN~能不能写一个“中转函式”,比如在OnTimer()里调用TempDrawRect();而TempDrawRect();里把DrawRect();的两个需要的参数写出两个CNecDlg类的成员变数CDC *TpDC;const CRect &Trc;,然后在TempDrawRect();里这么写:TempDrawRect()
    {
       if(TpDC!=0&&Trc!=0)
          DrawRect(TpDC,Trc);
    }当然,这样你要想办法在TempDrawRect()调用前为TpDC和Trc赋值。要不再直接的方法就是在void CNecDlg::OnTimer()内部调用DrawRect(),不过一样要有那两个成员变数。