Also ein Textfeld mit Zeilenumbruch zu schreiben ist ziemlich einfach. Aber soweit ich dich verstehe, willst du das Verhalten eines standart Editfields aus Windows nachahmen.
Das ist leider sehr schwierig, weil gs in sachen Texteingabe nur grundlegende funktionen bereitstellt.
Du kannst z.B den Text, der den String darstellt mit
text.size_x
horizontal begrenzen.
Das Problem: Der String wird einfach nur in der Darstellung eingekürzt, man kann ihn jedoch nicht Horizontal skrollen.
Problem 2: Das Ganze funktioniert nur mit Truetype fonts.
Möglichkeit 2 (die aber nicht funktioniert

Man könnte seinen Text auf einer Targetmap rendern und diese dann als ein Panel->window element darstellen und dementsprechend skrollen.
Leider folgendes Problem:
Die targetmap wird nicht geupdated, das heißt, Eingaben werden nicht richtig dargestellt, da der Hintergrund (der alte Text) nicht geleert wird.
Weiteres Problem:
Texte auf Targetmaps sehen zum kotzen aus.
Ich hoffe ich hab dich jetzt nicht mutlos gemacht.
LIBGUI, ein von einem user erstelltes Gui system enthält eine leichte annäherung an ein Editfield. Leider kann man dort z.B. nicht mit dem Cursor herumwandern, sondern nur hinzufügen und löschen. Ich glaube er hat sogar das Skrollen implementieren können, bin mir aber nicht sicher.