void CUpGradeGameCard::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 if (ID_TIMER_MOVE_CARD == nIDEvent) { // 算出坐标进行移动 if (NULL == m_hWnd) { return ; } CRect rect; GetClientRect(&rect); m_lMoveCount --; CPoint ptMoveTo(0,0); if (m_lMoveCount < 1) { m_ptStart = m_ptEnd; } else { ptMoveTo = m_ptEnd - m_ptStart; if (0 != ptMoveTo.x) { long lTmp = ptMoveTo.x/m_lMoveCount; if (0 == lTmp) { lTmp = (ptMoveTo.x>0)?1:-1; } else { ptMoveTo.x = lTmp; } } if (0 != ptMoveTo.y) { long lTmp = ptMoveTo.y/m_lMoveCount; if (0 == lTmp) { lTmp = (ptMoveTo.y>0)?1:-1; } else { ptMoveTo.y = lTmp; } } m_ptStart += ptMoveTo; } if (m_ptStart == m_ptEnd) { ShowWindow(SW_HIDE); KillTimer(ID_TIMER_MOVE_CARD); } SetBasePoint(m_ptStart, m_XShowMode, m_YShowMode); } CWnd::OnTimer(nIDEvent); }
void CPrePointPag::DoDefaultSetting() { bSetDefault = true; SetBasePoint(); bSetDefault=false; m_bCheckAutoTZ = TRUE; m_TextVX_pt0x.EnableWindow(true); m_TextVZ_pt0x.EnableWindow(true); m_TextVX_pt0y.EnableWindow(true); UpdateData(FALSE); }
// 移动 void CUpGradeGameCard::MoveAnimal(CPoint &ptStart, CPoint &ptEnd, long lTime) { if (NULL == m_hWnd) { return ; } KillTimer(ID_TIMER_MOVE_CARD); ShowWindow(SW_SHOW); SetBasePoint(ptStart, m_XShowMode, m_YShowMode); m_ptStart = ptStart; // 起点 m_ptEnd = ptEnd; // 终点 m_lMoveCount = lTime/MOVE_CARD_TIME_INTERVAL; // 移动次数 if (0 == m_lMoveCount) { m_lMoveCount = 1; } SetTimer(ID_TIMER_MOVE_CARD, MOVE_CARD_TIME_INTERVAL, NULL); }
int CGetPolylinePoints::GetPoints() { m_point_array.Empty(); SetCommandPrompt( L"Start of polyline" ); AcceptNothing(); CRhinoGet::result res = GetPoint(); if( res == CRhinoGet::point ) { m_point_array.Append( Point() ); SetCommandPrompt( L"Next point of polyline" ); for( ;; ) { SetBasePoint( Point() ); res = GetPoint(); if( res == CRhinoGet::point ) { ON_3dPoint pt = Point(); if( pt.DistanceTo(m_point_array[m_point_array.Count()-1]) > ON_ZERO_TOLERANCE ) m_point_array.Append( Point() ); continue; } if( res == CRhinoGet::nothing ) break; return 0; } } return m_point_array.Count(); }
void CPrePointPag::OnCancel1() { // TODO: Add your control notification handler code here SetBasePoint(); ((CPropertySheet*)this->GetParent())->SetActivePage(1); }