[Dev-C++] Szare tło okna

0

Szukałem informacji na ten temat, ale niestety nic nie znalazłem więc zwracam się z prośbą o pomoc tutaj. Otóż problem jest następujący - zaczynam sie uczyć WinAPI i mam prosty kod, który tworzy okno. Problem dotyczy linii:

wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

Zamiast właściwego koloru widać dziwny odcień szarości zamiast spodziewanego koloru tła z WinXP.
Co ciekawe problem występuje tylko przy stylach WinXP. Przy stylu klasycznym wszystko jest w porządku. Jeśli ktoś miałby pomysł na rozwiązanie mojego problemu to byłbym wdzięczny. Pozdrawiam

0

Pewnie dlatego że masz jeszcze kilka innych możliwości
np.
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_WINDOWTEXT

po reszte odsyłam do dokumentacji microsoftu. Tam znajdziesz inne rzeczy:
http://msdn2.microsoft.com/en-us/library/ms633576.aspx

0

Wielkie dzięki. Dokumentacja pomogła.
hbrBackground
Handle to the class background brush. This member can be a handle to the physical brush to be used for painting the background, or it can be a color value. A color value must be one of the following standard system colors (the value 1 must be added to the chosen color). If a color value is given, you must convert it to one of the following HBRUSH types:

Zmieniłem mój kod na:

wincl.hbrBackground = (HBRUSH) (COLOR_BTNFACE + 1);

I kolor jest taki jak być powinien.

0

Dodam tylko ze to inaczej można, otóż:

wincl.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);

zamiast WHITE_BRUSH można dać inną stała :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1