こんなコードをでっちあげてみました。
いかがですか。
// 終点に ">" を付ける
// nStartXPos, nStartYPos … 始点
// nEndXPos, nEndYPos … 終点
#include <math.h>
void C???View::Arrow(CDC * pDC, int nStartXPos, int nStartYPos, int nEndXPos, int nEndYPos)
{
int i;
int nX, nY;
double dbAng;
#define LENGTH 10 // 矢印の先の長さ
#define ANGLE (3.1415/180.0*30.0) // 矢印の開く角度 … 現在30度
dbAng = 3.1415 + atan2(nEndYPos-nStartYPos, nEndXPos-nStartXPos);
for (i=-1; (i<=1); i+=2)
{
nX = (int)(cos(dbAng+ANGLE*i) * LENGTH) + nEndXPos;
nY = (int)(sin(dbAng+ANGLE*i) * LENGTH) + nEndYPos;
pDC->MoveTo(nEndXPos, nEndYPos);
pDC->LineTo(nX, nY);
}
}
お礼
わざわざコードを書いていただき、ありがとうございます!! さっそく試してみます。