» »

[VC++] MFC - kako narisati lik? (elipso,krog,...)

[VC++] MFC - kako narisati lik? (elipso,krog,...)

Matjazzek ::

Zdravo,

Imam problem pri risanju preprostih likov v MFC (V okolju VS 2005), kot so elipsa, krog in kvadrat...Ker pa prvič delam z VS 2005 ,bi prosil za pomoč, če kdo slučajno ve kako se to naredi..
sem pa našel neko kodo za risanje, vendar je ne znam uporabiti.., koda je sledeča(za elipso):

CPaintDC dc(this);
CBrush nova;
nova.CreateSolidBrush(RGB(0,0,255));
CBrush* stara = dc.SelectObject(&nova);
dc.Ellipse(50,50,50,50);
dc.SelectObject(stara);

Lik se more narisati ob kliku na gumb...

Prav tako me zanima , kako lahko spremenim ozadje v nekem dialogu?
Hvala za vse odgovore,
Lep pozdrav,
M

DamijanD ::

Riši v OnPaint (WM_PAINT) eventu. Handler tega eventa že ima v parametru dc objekt.
Praktično skoraj celo kodo, ki si jo napisal daj v OnPaint funkcijo. V funkciji OnButtonClick (pač funkcija, ki se sproži ob kliku gunmba) pa kliči Invalidate (ta zahteva ponovno risanje dialoga in s tem se kliče OnPaint funkcija).

Tole je malo po spominu in sintaksa je samo približna...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[VC++, MFC] OnPaint

Oddelek: Programiranje
5994 (961) whatever
»

mfc problem

Oddelek: Programiranje
161641 (1205) FuI2cY
»

[C++] izris v [x,y]

Oddelek: Programiranje
131161 (863) DuleKrtola
»

[C++ Visual Studio] kako narisati krog?

Oddelek: Programiranje
141472 (1239) c0dehunter
»

[c#] enostavna Igrca -> poraba procesorja 95%

Oddelek: Programiranje
192157 (1521) elKaktus

Več podobnih tem