[ stargazer @ 09.04.2006. 22:17 ] @
ja nisam nešto previše dobar u radu sa GDI APIjem, ali potrebno mi je da nacrtam nešto nebulozno na prozoru i probao sam ovako neki kod pri obrade WM_PAINT poruke

Code:

PAINTSTRUCT ps;

BeginPaint(hWnd, &ps);
// prvo pravim MemDC i izabiram pen i brush u njega
HDC hMemDC = CreateCompatibleDC(ps.hdc);
LOGBRUSH lb = {BS_SOLID, RGB(0,0,128), 0L};
HBRUSH brush = CreateBrushIndirect(&lb);
HBRUSH oldB = (HBRUSH)SelectObject(hMemDC, brush);
LOGPEN lp = {PS_SOLID, -MulDiv(4, GetDeviceCaps(hMemDC, LOGPIXELSX), 72), RGB(0,0,128)};
HPEN pen = CreatePenIndirect(&lp);
HPEN oldP = (HPEN)SelectObject(hMemDC, pen);

// ovde crtam nešto
Rectangle(hMemDC, 5, 5, 10, 10);
Rectangle(hMemDC, 10, 10, 10, 10);

// sada bih hteo to da prekopiram na HDC mog prozora
BitBlt(ps.hdc, 0, 0, 20, 20, hMemDC, 0, 0, SRCCOPY);

// ovde oslobađam gore zauzete resurse
//...

EndPaint(hWnd, &ps);


kao što rekoh, ja ne znam dobro GDI, pa ako bi neko mogao da mi pomogne i kaže zašto ovaj kod ne radi, jer se ništa ne icrta na prozoru
hvala
[ idb @ 10.04.2006. 08:33 ] @
Sto ne pogledas jedan veoma lep tutorial Win32 Programming.
Mozes da pocnes od Lesson 9: The Graphical Device Interface.
Siguran sam da ce ti se svideti, odgovorice ti na neka pitanja koja jos nisi ni postavio.
idb
[ stargazer @ 10.04.2006. 12:16 ] @
dobar link, odličan tutorial
ali opet mi ne daje odgovor na pitanje koje sam postavio

bez obzira na to, verovatno će raditi bez hMemDC-a
hvala u svakom slučaju
[ stargazer @ 10.04.2006. 20:30 ] @
hvala za link, sada crta ko lud
ako nekog zanima kod, neka kaže postovaću ga ovde