在对话框上摆了一个静态文本框,要想使得它每隔几秒移动而且当它超出对话框的边界时,会自动往回地移动,请问这应该如何编写?谢谢

解决方案 »

  1.   

    定时器 中  
    获取 CStaic  当前位置
    获取 整个窗体的CRect
    判断 是否超过边框
    如果超过  回
    否则  继续移动
      

  2.   

    void CUDlg::OnTimer(UINT nIDEvent) 
    {
    // TODO: Add your message handler code here and/or call default
    RECT ret,ret1;
    GetClientRect(&ret);
    m_ctrlList.GetWindowRect(&ret1);
    ScreenToClient(&ret1);
    if(ret1.right<ret.right && bFlag)
    {
    ret1.left+=60;
    ret1.right+=60;
    }
    else
    {
    ret1.left-=60;
    ret1.right-=60; if(ret1.left<0)
    bFlag=TRUE;
    else
    bFlag=FALSE;
    } m_ctrlList.MoveWindow(&ret1);
    CDialog::OnTimer(nIDEvent);
    }在对话框的定时器里加 m_ctrlList 是CStatic控件变量