[C++/WinApi] Text-Stream anzeigen -> wie?

posi90

Erfahrenes Mitglied
Hallo,

Ich programmier noch nicht lange in C++/WinApi (keine MFC). Finde im Google keine brauchbaren Ergebnisse über Text-Stream Ausgabe, darum hab ich mich mal an ein Forum gewandt.

Wie kann man einen Text-Stream "printen" lassen?

Funktionsweise soll so wie beim CMD-Fenster ein printf("abc\n"); sein. Und halt nicht vom User veränderbar (Readonly).

Programm läuft unter Windows und wird mit VC++ 2010 erstellt.
 
Zuletzt bearbeitet:
Hallo,

bei Windows-Programmen müssen Textausgaben zwangsläufig in einem Fenster deiner Applikation angezeigt werden oder können alternativ in einer Messagebox angezeigt werden. So richtig klar ist mir noch nicht, wo genau dein Problem liegt...

Gruß
MCoder
 
Jo, ich weiß, an dem "wo" liegt es nicht, nur an dem "wie".

Im Moment hab ich diesen Befehl:

consol=CreateWindow (L"STATIC", NULL,WS_CHILD | WS_VISIBLE | WS_BORDER , 0, 0, 550 , 689, hwnd, (HMENU)ID_MAIN_CONSOL, g_hInstance, NULL);

Und im Bereich 550,689 sollen dann meine Strings reinpurzeln. Wenn der Bereich voll ist, soll der erste Eintrag weg, und die anderen um eins nach oben gerückt werden. Ich denke mal, dass der Style nicht passt.
 
Es wird ein Chat-Programm, String-Eingabe funktioniert, aber bei der String-Ausgabe scheiterts.

Tut mir Leid für die schlechte Umschreibung vorhin.

Wie kann man Strings so wie bei einem Chat Programm anzeigen?
 
Für die Textausgabe an geeignete Fenster (STATIC, EDIT) wird die API-Funktion 'SetWindowText' verwendet. Für die von dir geplante mehrzeile Ausgabe wäre alledings ein EDIT-Fenster besser als STATIC geeignet. Du kannst es über den Style so konfigurieren, das es readonly ist und eine vertikale Scrollbar hat. Mit der EM_LINESCROLL Message kannst das "nach oben rücken" steuern.

Gruß
MCoder
 
Super danke!

Wie kann ich denn dann das Caret disablen?

Hab da eine Funktion [BOOL WINAPI HideCaret( __in_opt HWND hWnd);] gefunden, wie is die denn zu handln?
 
Zurück