Hintergrundfarbe und Vordergrundfarbe bekommen
-
Hi,
ich habe in CHAR_INFO ja das Feld Attribute. Jetzt habe ich dort folgendes reingestopft:
FOREGROUND_RED | FOREGROUND_GREEN | BACKGROUND_BLUE
Jetzt möchte ich später rausfinden welche Hintergrundfarbe in Attribute drin ist und welche Vordergrundfarbe. Aber getrennt!
also ich benötige eine Funktion á la get_text_color (CHAR_INFO); und get_background_color (CHAR_INFO);
Hat da jemand ne idee wie ich das machen kann?
-
*push*
weiß denn keiner Rat?
-
Ich erhalte mit
CHAR_INFO ci; // ci mit daten füllen WORD fg_color = ci.Attributes & ( FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY ); WORD bg_color = ci.Attributes & ( BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY );
in fg_color die Textfarbe und in bg_color die Hintergrundfarbe. Dann schreibst ich noch nette
enum fg_colors { fg_red = FOREGROUND_RED, fg_magenta = FOREGROUND_RED | FOREGROUND_BLUE, fg_gray = FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN, fg_white = FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY, // ... }; enum bg_colors { // analog }
mit allen möglichen (und stimmigen) Kombinationen und schon hab' ich fertig.
Greetz, Swordfish
PS: [MyOpinion] oder ich mach mir keinen Stress damit und verwende SideWinder's Improved Console[/MyOpinion]
-
@Swordfish
die IC bietet aber nicht diese Funktionalität
-
Klar bietet sie das - verfügbare Feautures:
Get/Set für Farben (Textfarbe und Hintergrundfarbe - getrennt oder gemeinsam) [Conio-Äquivalente: textcolor()/bgcolor()]
-
@CStoll
aber nicht von einer bestimmten X und Y Position!
-
Ist deine Frage mit meinem Vorschlag beantwortet?`
Greetz, Swordfish