C++ Wypełnienie kolorem obiektów w MFC

Witam.

Drodzy Forumowicze Dobrych Programów. Od pewnego czasu nurtuje mnie jedno pytanie (problem) otóż:

Problem dotyczy wyplenieniem kolorami obiektów. Z obiektami typu Elpisa, Rectangle itp, które są dostępne nie mam żadnego problemy, aby je wypełnić. Używam do tego funkcji CBrush, oto przykład jak:

int K2=RGB(140,140,120);

	CBrush newBrush1(HS_CROSS,K2);

	pDC->SelectObject(&newBrush1);	

	pDC->Rectangle(x,y,dx,dy);

I wszystko fajnie, tylko teraz mam pytanie… Składam trójkąt z linii, przez komendy LineTo. W Jaki sposób mogę wypełnić, zrobiony obiekt z Lini np. trójkąt… (czy da się go jakoś zgrupować w jeden obiekt i potem zastosować CBrush, czy jest jakaś inna możliwość?). Próbowałem zrobić klasę tego obiektu i później wywołać i zastosować CBrush jednak nie przyniosło to efektu. Pod spodem przykład zrobionego z linii trójkąta. Jak wyplenić kolorem jego wnętrze?

pDC->MoveTo(10,245);

	pDC->LineTo(120,10);

	pDC->LineTo(250,245);

	pDC->LineTo(10,245);

Proszę o pomoc. Pozdrawiam

może spróbujesz rysować trójkąt przy pomocy ścieżek:

http://msdn.microsoft.com/en-us/library … 85%29.aspx

powyżej masz opis jak z nich korzystać - znajduje się tam funkcja StrokeAndFillPath, która zmienia obrys figury i jej wypełnienie.

Hmm, nie bardzo rozumiem tą metodę. Hmm a mógłby Pan podać to na jakimś przykładzie, np. z tym trójkątem?

A może po prostu CDC::Polygon?

http://msdn.microsoft.com/en-us/library/hhkhd4xz(VS.80.aspx

Dziękuje działa o to przykład działającego programu wykorzystujące metodę CDC::Polygon. Może komuś się przyda… Jeszcze raz pozdrawiam

plik: Nazwa_View.cpp

void Ckolo3View::OnDraw(CDC* pDC)

{

	Ckolo3Doc* pDoc = GetDocument();

	ASSERT_VALID(pDoc);

	if (!pDoc) return;


   int K1=RGB(255,255,255);


    CPoint pts[3];

    pts[0].x = 120;

    pts[0].y = 10;

    pts[1].x = 250;

    pts[1].y = 245;

    pts[2].x =10;

    pts[2].y =245;


    CBrush newBrush2(K1);

    pDC->SelectObject(&newBrush2);

    pDC->Polygon(pts, 3);

}