VC++画箭头

http://www.j2megame.org/wupei/blog.php/myblog/vc/2008/01/11/arrow-in-mfc

                     CPen pen(nPenStyle,nWidth,crColor);
    CPoint second,third;

    CPen
*  pOldPen = dc.SelectObject( & pen);
    dc.MoveTo(m_ptOrigin);
    dc.LineTo(m_ptEnd);

    
double  slopy , cosy , siny; 
    
double  Par  =   18.0 // length of Arrow 
    slopy  =  atan2((m_ptOrigin.y  -  m_ptEnd.y), (m_ptOrigin.x  -  m_ptEnd.x)); 
    cosy 
=  cos(slopy); 
    siny 
=  sin(slopy); 
 
    CBrush cb;
    cb.CreateSolidBrush(RGB(
0 , 111 , 255 ));
    dc.SelectObject(
& cb);
    CPoint p[
3 ];
    p[
0 =  m_ptEnd;
    p[
1 ].x  =  m_ptEnd.x  +   int (Par  *  cosy  -  (Par  /   2.0   *  siny));
    p[
1 ].y  =  m_ptEnd.y  +   int (Par  *  siny  +  (Par  /   2.0   *  cosy)); 

    p[
2 ].x  =  m_ptEnd.x  +   int (Par  *  cosy  +  Par  /   2.0   *  siny); 
    p[
2 ].y  =  m_ptEnd.y  -   int (Par  /   2.0   *  cosy  -  Par  *  siny); 

    dc.Polygon(p,
3 );

    dc.SelectObject(pOldPen);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值