Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

SetDCBrushColor w Dev-C++ (winapi).

Ostatnio zmodyfikowano 2015-05-14 19:29
Autor Wiadomość
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.
P-132252
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ć:

C/C++
#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:

C/C++
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.
P-132262
« 1 »
  Strona 1 z 1