Listbox oder Memofeld von unten nach oben füllen
-
Hi,
hat jemand eine Ahnung wie man es anstellen kann, dass der Text in einer ListBox oder einem Memofeld von unten nach oben gefüllt wird. Man fängt also in der letzten Zeile an zu schreiben, nach jedem Zeilenumbruch soll die Zeile um eins nach oben geschoben werden und man schreibt in der untersten Zeile weiter. Ich hoffe ihr versteht halbwegs was ich meine.
Ich danke euch schon mal für eure Hilfe.
Gruß Horscht
-
Füll das Memo anfangs halt mit Leerzeilen, den neuen text fügst du dann als neue Zeile hinzu. Als Eingabefeld nimmst du ein extra Edit.
-
Ja, auf diese Idee bin ich auch schon gekommen. Aber das ist ja eigentlich nur eine Notlösung.
Zum einen erscheint so sofort eine Scrollleiste obwohl das Memofeld eigentlich noch leer ist und zum anderen kann man die leere Zeilen markieren (auch wenn ReadOnly=true ist).
Aber wenn es keine andere Möglichkeit gibt werde ich wohl damit leben müssen.
-
Hi,
du kannst auch das Memo selber zeichnen!MfG
Alexander Sulfrian
-
Was meinst du mit selber zeichnen?
-
Du nimmst dir nen Blatt Papie, k.a. A4 oder so und nen Bleistifft, B wenn's geht und zeichnest halt nen TMemo-Feld...
Nein, Ich frage mich nur grad, wozu es gut sein soll, dass du in der letzten Zeile anfängst... Du weißt ja nicht genau, wwie viele Zeilen dort hineinkommen, oder?
MfG Windoof
-
Also ich würde die Idee von Jansen mit dem separaten TEdit als Eingabe aufgreifen. Hier ein kleiner Ansatz für eine Lösungsmöglichkeit:
Ziehe ein TMemo, ein TEdit und ein TPanel auf die Form und ruf folgende Funktion auf
void TForm1::SetMemo(void) { Memo1->BorderStyle=bsNone; Edit1->BorderStyle=bsNone; Panel1->BevelOuter=bvLowered; Panel1->Width=Memo1->Width + 4; Panel1->Height=Memo1->Height + Edit1->Height + 4; Memo1->Parent=Panel1; Edit1->Parent=Panel1; Memo1->Left=2; Memo1->Top=2; Edit1->Width=Memo1->Width; Edit1->Left=Memo1->Left; Edit1->Top=Memo1->Top + Memo1->Height; }
Jetzt bildet das TMemo mit TEdit eine zusammenhängende Einheit. Für den Rest mußt Du Dir halt auch was einfallen lassen
PS: Das Zusammenfügen der 3 Objekte kannste natürlich auch von Hand gleich auf der Form erledigen aber das lässt sich halt hier schlecht darstellen.