Formatiert einlesen?

Quick_Mik

Mitglied
Hallo.

Ich stehe vor folgendem Problem.

Ich möchte in einer Konsolenanwendung einen String einlesen, und das in einem mit window erzeugten Teilfenster, in welchem ich dann natürlich auch mit textcolor und textbackground arbeite.

Wenn ich nun mit cscanf("%s",string) einlese, liest er mir immer nur das erste Zeichen ein.

Wenn ich mit gets(string) einlese, erscheinen die eingegebenen Zeichen in der Standardformatierung.

Über cin brauchen wir ja nicht erst zu reden.

Kann mir jemand sagen, wie ich den String so eingelesen bekomme, dass die vom Benutzer eingegebenen Zeichen mit der in dem jeweiligen window eingestellten Textfarbe und Hintergrundfarbe angezeigt werden?

Danke.

Mik
 
Ist das nicht eher eine Ausgabesache als eine Eingabesache? Die Farbinformationen werden ja nicht unmittelbar aus der Benutzereingabe gewonnen, sondern sind schon als Eigenschaft des Fensters eingestellt, oder verstehe ich dich falsch?
 
Das ist soweit richtig.

Allerdings wird die Eingabe des Benutzers ja auch auf dem Bildschirm dargestellt. Und dabei werden die Farbeinstellungen nicht beachtet.

Hatte eine Idee, welche ich aber wegen zuviel Aufwand verworfen habe: über getch() jedes Zeichen einzeln einlesen, dann an die passende Stelle des arrays zuweisen und die Eingabe an der richtigen Stelle (mit positioniertem Cursor) ausgeben...

Aber wie gesagt, zuviel Aufwand...
Gruß

M.
 
Zurück