m_pDisplayFrame->GetClientRect(&workRect);得到的是相对于m_pDisplayFrame的坐标.
m_pDisplayFrame->ClientToScreen(&workRect);是转换为屏幕坐标.
ScreenToClient(&workRect);把workRect转换为相对与this(多半是Form)的坐标.

解决方案 »

  1.   

    m_pDisplayFrame=(CWnd*)GetDlgItem(IDC__STATIC); 是对话框的一个static而上面的代码在对话框的 ontimer()中。
      

  2.   

    m_pDisplayFrame->GetClientRect(&workRect) 得到相对于父窗口中子控件IDC_STATIC的坐标,(0,0)在该子控件的左上角。
    m_pDisplayFrame->ClientToScreen(&workRect) 将该坐标转换为屏幕坐标,(0,0)在显示器屏幕的左上角。
    ScreenToClient(&workRect) 相当于this->ScreenToClient(&workRect),它将坐标再转换为相对于拥有子控件IDC_STATIC的父窗口的坐标,0,0)在该父窗口(this)的的左上角。
    这样做的目的一般是为了在父窗口中移动某个子控件。
    Understand?
      

  3.   

    m_pDisplayFrame->GetClientRect(&workRect) 得到相对于父窗口中子控件IDC_STATIC的坐标,(0,0)在该子控件的左上角。第一句我还有点不明白。