Einzelnen Beitrag anzeigen

Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#7

Re: ReadLn() für Fensterprogramme?

  Alt 13. Aug 2008, 16:51
Zitat von Kill0r:
Hallo :)

Ich habe ein Problem welches vielleicht nicht ganz dem normalen Windows-Konzept entspricht und ich bin mir nicht sicher, ob es lösbar ist. Also ich schreibe gerade eine Art Konsolenprogramm, welches aber eigentlich ein normales Windowsprogramm ist mit einem TImage was mir als Anzeige dient (d.h. Ich schreibe den Text welcher ich anzeigen will dort drauf)
...
Kill0r
Hallo,

ein ganz anderer Lösungsansatz: du zeigst den auszugebenden Text z.B. in einem TMemo an (TImage geht auch, wenn es dafür einen Grund gibt). Für die Eingabe von Kommandos legst du jeweils ein Editfenster mit gleicher Breite und 1 Zeile Höhe an die entsprechende Stelle über das TMemo. Bei gleichem Hintergrund und fehlendem Rand ist das Editfenster unsichtbar. Wird die Eingabe mit Enter abgeschlossen, wird das Editfenster gelöscht, die Anzeige 1 Zeile nach oben geschoben und der eingebene Text als nächste Zeile darunter geschrieben.

Damit entfallen alle Probleme mit ProcessMessages oder Threads oder blockierter Anwendung. Es gibt ganz windowskonform ein Eingabecontrol und ein Ausgabecontrol. Die Verwendung unsichtbarer Editfenster zur Dateneingabe ist eine bewährte Methode, die ich z.B. in TStringGrids verwende.

Gruss Reinhard
  Mit Zitat antworten Zitat