您的位置:首页 > 其它

画坐标箭头函数封装

2012-09-25 09:40 351 查看
float  g_fConstValue    = 3.14f / 180.0f;          //常数

//--------------------------------------------------------------------------------------

//HDC ,dwAngle:箭头方向, ptCenter


//--------------------------------------------------------------------------------------

void DrawArrow( HDC hDC, DWORD dwAngle, POINT ptCenter )

{

 float fTmp = dwAngle * g_fConstValue;

 HPEN    hPen   = CreatePen( PS_SOLID, 2, RGB( 200, 200, 2 ) );

 HGDIOBJ hOldObj = SelectObject( hDC, hPen );

 int usX = ptCenter.x + int( 60 * sin( fTmp ));

 int usY = int( ptCenter.y - 60 * cos( fTmp ));

 MoveToEx( hDC, ptCenter.x, ptCenter.y, NULL );

 LineTo  ( hDC, usX, usY );

 DWORD usAngleValue2 = ((( dwAngle + 180 ) % 360 ) + 30 ) % 360;

 fTmp = usAngleValue2  * g_fConstValue ;

 int usX2 = usX + int( 12 * sin( fTmp ));

 int usY2 = usY - int( 12 * cos( fTmp ));

 MoveToEx( hDC, usX, usY, NULL );

 LineTo( hDC, usX2, usY2 );

 usAngleValue2 = ((( dwAngle + 180 ) % 360 ) + 360 - 30 ) % 360;

 fTmp = usAngleValue2  * g_fConstValue ;

 usX2 = usX + int( 12 * sin( fTmp ));

 usY2 = usY - int( 12 * cos( fTmp ));

 MoveToEx( hDC, usX, usY, NULL );

 LineTo( hDC, usX2, usY2 );

 SelectObject( hDC, hOldObj );

 DeleteObject( hPen );

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  null float 360