原来在vc里面写的代码,懒得改了,你看看吧,应该对你有用吧。void CNode::DrawArr(CDC *pDC, CPoint ptStart, CPoint ptEnd)
{
CSize szOffset;
CPoint ptTail[2];
int i; szOffset=ptStart-ptEnd; //カィメ袞犖ヤラ・オ if(szOffset.cx==0)
{
ptTail[0].x=2;
ptTail[1].x=-2;
ptTail[1].y=ptTail[0].y
=(szOffset.cy/abs(szOffset.cy))*(int)(8); }
else
{
ptTail[0].x=(szOffset.cx/abs(szOffset.cx))*(int) //シニヒ羮ヘキホイイソラ・
(8.*cos(
atan((double)szOffset.cy/(double)szOffset.cx)+asin(.3)
));
ptTail[0].y=(szOffset.cx/abs(szOffset.cx))*(int)
(8.*sin(
atan((double)szOffset.cy/(double)szOffset.cx)+asin(.3)
));
ptTail[1].x=(szOffset.cx/abs(szOffset.cx))*(int)
(8.*cos(
atan((double)szOffset.cy/(double)szOffset.cx)-asin(.3)
));
ptTail[1].y=(szOffset.cx/abs(szOffset.cx))*(int)
(8.*sin(
atan((double)szOffset.cy/(double)szOffset.cx)-asin(.3)
));
} for(i=0;i<2;i++)
{
pDC->MoveTo(ptEnd);
pDC->LineTo(ptEnd+ptTail[i]);
}
}