SetDCBrushColor w Dev-C++ (winapi).
Ostatnio zmodyfikowano 2015-05-14 19:29
uzytkownik17 Temat założony przez niniejszego użytkownika |
SetDCBrushColor w Dev-C++ (winapi). » 2015-05-14 18:31:47 Witam! Używam Dev-C++ pod Windows7 i kompilator nie zna takich funkcji jak SetDCBrushColor, GetDCBrushColor (zna GetStockObject(BLACK_BRUSH) i to samo z NULL_BRUSH, ale kompilator nie zna DC_BRUSH). Czy można coś zrobić (może trzeba załadować dodatkowy plik .h?), by funkcje te zaczęły działać?
Z góry dziękuję za pomoc.
|
|
uzytkownik17 Temat założony przez niniejszego użytkownika |
Udało się...? » 2015-05-14 19:29:07 Poszperałem po plikach Dev-C++ i znalazłem, że chyba powinienem wprowadzić: #define _WIN32_WINNT 0x0500
Po tym ustawieniu funkcja SetDCBrushColor jest rozpoznawalna przez system, ale nie umiem powiedzieć, czy działa - mój obrazek, który chcę zrobić (np.) niebieski jest wciąż czarny! Ma to być wypełnione koło jako ikonka w menu: HWND okn = GetDesktopWindow(); HDC dco = GetDC( okn ); HDC dcz = CreateCompatibleDC( dco ); SIZE rzm = { GetSystemMetrics( SM_CXMENUCHECK ), GetSystemMetrics( SM_CYMENUCHECK ) }; HBITMAP hbm = CreateCompatibleBitmap( dcz, rzm.cx, rzm.cy ); HBITMAP bmz =( HBITMAP ) SelectObject( dcz, hbm ); PatBlt( dcz, 0, 0, rzm.cx, rzm.cy, WHITENESS ); HBRUSH pdl =( HBRUSH ) SelectObject( dcz, GetStockObject( NULL_BRUSH ) ); Ellipse( dcz, 0, 0, rzm.cx, rzm.cy ); SetDCBrushColor( dcz, RGB( 0, 0, 255 ); SelectObject( dcz, GetStockObject( DC_BRUSH ) ); Ellipse( dcz, 2, 2, rzm.cx - 2, rzm.cy - 2 ); SelectObject( dcz, bmz ); DeleteDC( dcz ); ReleaseDC( okn, dco ); SetMenuItemBitmaps( mnu_t,( 30 * M_MENU_T + 25 ), MF_BYCOMMAND, hbm, hbm );
W stosownym menu pojawia się czarne kółko (z kilkoma drobnymi dziurkami w kolorze białym - nie wiem dlaczego). Czy ktoś wie, o co chodzi? Z góry dziękuję za pomoc. |
|
« 1 » |