[C++] Linienfarbe von Rechtecken

V1tzl1

Lt. Junior Grade
Registriert
Sep. 2004
Beiträge
384
Hallo, ich steh heute irgentwie auf dem Schlauch,
ich hab jetz seit über 10 minuten gegoolelt und immer noch keinen Befehl gefunden, wie ich die linienfarbe von rechtecken ändern kann.
Ziel ist es ein Rechteck in Hintergrundfarbe zu erstellen (zum übermalen).
Den befehl für die Füllfarbe hab ich schon, aber ich hab immer noch die Seiten des rechtecks und die wär ich auch gern losgeworden.

Ic hoff ihr könnt mir helfen
MfG V1tzl1
 
bloodshed dev c++, oder was einst du mit toolkit.
mein Quelltext sieht zur Zeit so aus
Code:
HBRUSH background = CreateSolidBrush(RGB(255,255,255));
SelectObject(hdc, background);
Rectangle(hdc, x, y, x2, y2);
 
ghorst meint damit welche Bibliothek du verwendest: Qt, Gtk, wxwindows, MFC, ... Das sind alles "Toolkits".

Das sieht bei dir nach Windows GDI aus.
 
Aus der MSDN Library:

"The Rectangle function draws a rectangle. The rectangle is outlined by using the current pen and filled by using the current brush. "
 
In MFC
Code:
CPen lPen(PS_SOLID,1,RGB(1,2,3));

dc.SelectObject( &lPen );

In Win32
Code:
HPEN hPen = CreatePen(PS_SOLID,1,RGB(1,2,3));

SelectObject( hdc, hPen );

MfG

Arnd
 
Ich benutze die windows.h HGeader Datei
Arnds Lösung mit dem Pen hat aber funktioniert, ich dachte der wäre nur für linien und einzelne Pixel, aber anscheinend ja nicht.
btw gibt es eine Vereinfachung für
Code:
SelectObject(hdc, brush);
SelectObject(hdc, pen);
 
Hallo V1tzl1,

einfacher als 2 Zeilen Code geht es wohl kaum. Du kannst Dir ein Macro oder eine Funktion schreiben, dann ist es eine Zeile.

Ansonsten kann ich Dir noch GDI+ empfehlen, da gibt es ziemlich viele Gestaltungsmöglichkeiten.

MfG

Arnd
 
Ne so komplizier (naja eigentlich eher so viel arbeit) wollt ich mir ja doch nich machen, hätte ja sein können, dass man pen und brush in einer funktion auswählen kann.
Aber egal ...

Auf jeden Fall ein großes Dankeschön, an alle die sich die Mühe gemacht haben nach meinem toolkit zu rätseln ^^ (nächstes mal weiß ich was ihr meint).
MfG V1tzl1
 
Zurück
Oben