0
塗りつぶしが必要なポリゴン(4点とlineto()、ポリゴン()は画面上にポリゴンを移動するとマークが残るため動作しません)があります。 誰でも助けてくれますか?ここでGDIでポリゴンを塗りつぶし
あなたが再描画するときに背景をクリアしないので、移動したときにポリゴンが「マークを離れる」理由がある
void CClock::DrawHand (CDC* pDC, int nLength, int nScale, int nDegrees, COLORREF clrColor)
{
CPoint point[4];
double nRadians = (double) nDegrees * 0.017453292;
point[0].x = (int) (nLength * sin (nRadians));
point[0].y = (int) (nLength * cos (nRadians));
point[2].x = -point[0].x/nScale;
point[2].y = -point[0].y/nScale;
point[1].x = -point[2].y;
point[1].y = point[2].x;
point[3].x = -point[1].x;
point[3].y = -point[1].y;
CPen pen (PS_SOLID, 0, clrColor);
CPen* pOldPen = pDC->SelectObject (&pen);
pDC->MoveTo(point[0]);
pDC->LineTo(point[1]);
pDC->LineTo(point[2]);
pDC->LineTo(point[3]);
pDC->LineTo(point[0]);
pDC->SelectObject (pOldPen);
}
これまでに持っていたコードを表示できますか? – alf
@alfonso私は今質問にそれを含めました。 –
これを入手しました。私はPolygon()を作った。以前はこれをしましたが、ブラシに誤ったパラメータを与えました。とにかくありがとう。 –