Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

$nooc

Alter Hase

  • »$nooc« ist der Autor dieses Themas

Beiträge: 873

Wohnort: Österreich / Kärnten

Beruf: Schüler

  • Private Nachricht senden

1

12.01.2008, 22:08

Win32 Fenster und dessen Hintergrundfarbe..

ich würde gerne bei meinem fenster ne andere farbe verwenden..

wie kann ich andere verschiedene farben verwenden, und nicht nur diese

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#define BS_SOLID            0
#define BS_NULL             1
#define BS_HOLLOW           BS_NULL
#define BS_HATCHED          2
#define BS_PATTERN          3
#define BS_INDEXED          4
#define BS_DIBPATTERN       5
#define BS_DIBPATTERNPT     6
#define BS_PATTERN8X8       7
#define BS_DIBPATTERN8X8    8
#define BS_MONOPATTERN      9


ich habs jetzt mal so versucht.. (professorisch), aber das bewirkt eigtl. gar nichts ^^


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
    case WM_ERASEBKGND:
        {
            RECT rWindow;

            GetClientRect(gui.GetHandle(), &rWindow);
            HDC dcWindow = GetDC(gui.GetHandle());

            FillRect(dcWindow, &rWindow, HBRUSH(RGB(255, 0, 0)));
            break;
        }
Am Anfang der Weisheit steht die eigene Erkenntnis, dass man selbst nichts weiß! - Sokrates

Chase

Alter Hase

Beiträge: 753

Wohnort: Nagaoka / Darmstadt / Düsseldorf

Beruf: fauler Studi

  • Private Nachricht senden

2

13.01.2008, 02:00

Re: Win32 Fenster und dessen Hintergrundfarbe..

Zitat von »"$nooc"«

ich habs jetzt mal so versucht.. (professorisch)

Ui, professorisch ? :)
Also die Konstanten da sind doch keine Farben, sondern Zeichenmuster -.-
Ruf doch FillRect einfach mal in WM_PAINT auf.. Zu WM_ERASEBKGND steht naemlich in der MSDN "This message is sent by an application when the window background must be erased, for example, when a window is resized." Wahrscheinlich wird dein Code also garnicht ausgefuert.
"Have you tried turning it off and on again?"

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

3

13.01.2008, 09:48

Re: Win32 Fenster und dessen Hintergrundfarbe..

Zitat von »"$nooc"«

ich würde gerne bei meinem fenster ne andere farbe verwenden..

Dann gib in der Fensterklasse ein vordefiniertes Füllmuster (Weiß, Hellgrau, Dunkelgrau, Schwarz) an oder erstelle dir ein eigenes. Falls du nicht weist, wie man ein eigenes Füllmuster erstellt und einsetzt:

C-/C++-Quelltext

1
2
3
4
5
6
7
LOGBRUSH logbrush;
logbrush.lbStyle = // BS_SOLID, BS_HATCHED(Straffur), BS_PATTERN(Bitmap)

logbrush.lbColor = // Füllfarbe

logbrush.lbHatch = // Bei BS_HATCHED: Strffurart, Bei BS_PATTERN: Bitmap Handle


WNDCLASS wndclass;
wndclass.hbrBackground = CreateBrushIndirect(&logbrush);

Ich hoffe, das du das verstanden hast.
Signaturen werden überbewertet

4

13.01.2008, 11:55

xEs geht doch auch einfach so:

C-/C++-Quelltext

1
wndclass.hbrBackground = ( HBRUSH ) CreateSolidBrush ( RGB ( 255, 0, 0 ) );
Das Böse ist des Menschensbeste Kraft - Friedrich Nietzsche

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

5

13.01.2008, 13:38

Außer er will ein Bitmap oder eine Straffur.
Übrigens: CreateSolidBrush ist doch schon vom Typ HBRUSH. Das Konventieren ist hier total unnötig. ;)
Signaturen werden überbewertet

Werbeanzeige