Dafür brauhcst du "$WS_HSCROLL" und "$WS_VSCROLL".
Durch "$ES_READONLY" werden deine Eingaben aber blockiert, deswegen scrollt nichts automatisch mit (wie auch?).
Der EDIT bekommt nacheinander neuen Input und dadurch wird es immer länger. Bis es dann zum ende des Feldes kommt. Dann soll immer der neueste Input ganz unten stehen.
Also AUTOMATISCH.
Im Moment geht er außerhalb des Edits und man kann MANUELL nach unten scrollen.
Ja das is mir klar. Ich will nur wissen wie man die EDITstyle so ändern kann, dass der letzte Eintrag immer ganz unten steht egal wieviel einträge es gibt und das alle Einträge noch da stehen
Damit wird jeder neue Eintrag unter die alten geschrieben. Nur wenn die Einträge das Ende erreichen, scrollt das EDIT nicht automatisch nach unten um wieder am neuesten Eintrag zu sein.
Dann schreibe den neusten Eintrag immer oben und dein Problem ist gelöst.
Spätestens nachdem du "GUICtrlSetData" benutzt hast, ist wieder der erste Text sichtbar.
Würdest du das Edit jetzt scrollen lassen, würde es schlichtweg scheiße aussehen.
Scheiße?? Was is daran scheiße? Einfach der letzte Eintrag am eine und oben drüber immer die älteren und ganz oben der älteste. Was is daran bitte Scheiße, so is das bei allen Installationen und sowas.
Hatte das Problem auch schon einmal
Ich habe das Problem so gelöst.
In der Schleife, in der er in mein Edit Field reingeschrieben hat, nach jedem schreiben diesen Code angefügt:
Scheiße?? Was is daran scheiße? Einfach der letzte Eintrag am eine und oben drüber immer die älteren und ganz oben der älteste. Was is daran bitte Scheiße, so is das bei allen Installationen und sowas.
Noch nie ein Setup gesehen, bei dem irgendetwas automatisch gescrollt wird.
Naja, hier noch mal bassbananes Lösung in meinem Beispiel:
Ihr denkt mal wieder alle in die falsche Richtung^^
Als erstes bei der editbox: GuiCtrlCreateEdit("Am Anfang steht jetz das" & @CRLF,8,8,200,300, BitOR($WS_VSCROLL,$ES_READONLY,$ES_AUTOVSCROLL))
Dann bei jedem stück wo was in die editbox dazu geschrieben werden soll:
GuiCtrlSetData($EditBox,"Das was dazu kommt" & @CRLF, True) Das True steht dafür, das der alte Text da bleibt, und der neue darunter geschrieben wird.
So, ist die EditBox ganz unten,s crollt sie von alleine weiter...
Der Mod und die anderen sind daran gescheitert, da die EditBox immer den Anfang des neu geposteten Texts anzeigt und WENN MÖGLICH auch den Schluss. Aber weil ihr ja immer alles neu rein schreiben lässt und nicht ein true (oder eine 1) rein setzt scrollt er nicht runter:
Zitat von dem Mod:
Readonly blockt die EditBox und daher scrollt es nicht automatisch runter
xDDD schon lange nicht mehr so gelacht. Was heist den readonly? das blockt doch nix auser das reinschreiben oder ersetzen des inhalts!!!!
Sie scrollt wegen dem oben genannten Grund nicht runter.
PS: Wieso HSCROLL? interessiert doch keinen was schräg passiert oder?
Ach was... Ich habe das auf die manuelle Eingabe bezogen.
Wenn du lachen möchtest kannst du in deine Signatur gucken, fängt schon
damit an, dass man für einen Vergleich "==" benutzt und nicht "=" (so etwas
müssen AutoIt Benutzer ja nicht wissen).
Im übrigen ist das Beispiel von bassbanane besser, wenn du deine mit seiner
Methode vergleichst kommst du sogar auf die Idee wieso das so ist.
Ach was... Ich habe das auf die manuelle Eingabe bezogen.
Wenn du lachen möchtest kannst du in deine Signatur gucken, fängt schon
damit an, dass man für einen Vergleich "==" benutzt und nicht "=" (so etwas
müssen AutoIt Benutzer ja nicht wissen).
Im übrigen ist das Beispiel von bassbanane besser, wenn du deine mit seiner
Methode vergleichst kommst du sogar auf die Idee wieso das so ist.
Ne das von bassbanane ist nur umständlicher gelöst. Funktionieren tut beides. So und für Vergleiche nutzt man in älteren Autoit Versionen == aber in neueren wurde das eben abgekürzt damit man auch nur = schreiben kann.
PS: das hat hier mal jemand aus Fun gepostet und ich hab's in meine Sig. Gepackt.
Wenn du lieber umständliche Lösungen haben möchtest.... Gerne aber sag nich das meins falsch is ohne dich vorher zu informieren!