Erklärung?

paddymann

Mitglied
Kann mir das hier mal einer erklären:

HANDLE hStdOut;

hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleTextAttribute(hStdOut, FOREGROUND_BLUE | FOREGROUND_INTENSITY);



Was ist dieses HANDLE
 
moin


Ein HANDLE ist eine Klasse in der man Informationen über etwas speichern kann um Zugriff darauf zu bekommen, bzw. um zuwissen auf was man zugreift.

Du holst dir ein Handle auf das StdOut.
Das StdOut ist die Ausgabe in einer Konsolenanwendung, unter anderem der Cursor, Farbe, Schriftart...

Dadurch das du dir die Informationen von dem StdOut holst und in eine Instanz der Handle Klasse packst, weiss SetConsoleTextAttribute wo es etwas verändern soll, nämlich in der Ausgabe dr Konsole.


mfg
umbrasaxum
 
Ich hab mir jetz folgendes für den Hintergrund zusammengebastelt:

SetConsoleTextAttribute (hStdOut, BACKGROUND_GREEN);

Allerdings ist der HIntergrund jetz nur in der Zeile Grün, in der der Curso ist bzw. in der etwas ausgegeben wurd. Wie färbe ich den kompletten Hintergrund Grün und warum fuktioniert hier INTENSITY nicht ?
 
moin


Wie färbe ich den kompletten Hintergrund Grün
Den ganzen Bildschirm mit Leerzeichen füllen udn den Cursor wieder nach oben links packen!
Aber komm jetzt nicht auf die Idee zu fragen wie man den nach oben links setzt, benutzt die Suchfunktion.


mfg
umbrasaxum
 
Zuletzt bearbeitet:
Ein HANDLE ist eine Klasse in der man Informationen über etwas speichern kann um Zugriff darauf zu bekommen, bzw. um zuwissen auf was man zugreift.
Naja das stimmt nicht so ganz.

Aus der winnt.h:
Code:
typedef void *HANDLE;

Ein HANDLE ist nix anderes als ein Zeiger auf ein Objekt in diesem Fall ein void-Zeiger also typenlos.
Hat also nix mit C++ bzw. mit einer Klasse zu tun.

Daniel
 
Zurück