Hi,
ich habe eine art Chat geschrieben, wobei das Chatfenster so ähnlich wie bei ICQ aussieht. Wenn jemand eine neue Nachricht geschrieben hat, wird diese unten angefügt. Sobald das Fenster voll ist, kann man mit einem Scroll-Balken nach unten scrollen. Da dies natürlich sehr aufwändig ist, wäre es ganz gut, wenn immer automatisch nach unten gescrollt wird, sobald eine neue Nachricht kommt... Weiß jemand wie das geht???
Automatisch in einem Fenster nach unten scrollen
-
- [ gelöst ]
-
robs01 -
23. Oktober 2009 um 14:44 -
Geschlossen -
Erledigt
-
-
Schau mal hier rein
https://autoit.de/index.php?page…80&pageNo=4
Die jungs scheinen damit auch ein problem zu haben - vielleicht gibts ja mittlerweile schon ne lösung - dann kannst du dich ja mal mit denen kurzschließen. Mir fällt allerdings auch grad nix gescheites zu deinem Problem ein...EDIT: funkey da sieht man mal wieder wie Ahnungslos ich doch bin...
-
[autoit]
_GUICtrlEdit_Scroll
[/autoit] -
Wenn es das fenster selber ist dann sieh dir mal
[autoit]_GUIScrollBars_ScrollWindow(
[/autoit]an und dazu _GUIScrollBars_Init
-
Hm oke danke schonmal... aber ich habe das jetzt mal mit dem Code probiert. Aber irg-wie funktioniert es noch nicht so richtig. Wo muss ich das denn genau bei meinem Skript(Anhang) einfügen?
_GUICtrlEdit_Scroll($Edit1, $SB_LINEDOWN)
-
bitteschön
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <file.au3>
#include <string.au3>
#Include <GuiEdit.au3>
#include <ScrollBarConstants.au3>
#NoTrayIconHotKeySet("{F4}", "hide")
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{F3}", "show")MsgBox(262208, "Wichtige Information", "Der Schulchat kann mit der Taste <F4> versteckt werden und anschließend wieder mit der Taste <F3> sichtbar gemacht werden")
[/autoit] [autoit][/autoit] [autoit]
$pfad = @DesktopDir & "\NetControl.new"
$user = @UserName#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
Global $Form1 = GUICreate("Schul-Chat 1.0 Beta", 467, 442, 405, 112)
Global $Edit1 = GUICtrlCreateEdit("", 9, 6, 442, 298, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_VSCROLL))
Global $Edit2 = GUICtrlCreateEdit("", 12, 318, 442, 73, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL))
Global $Button1 = GUICtrlCreateButton("Senden", 351, 405, 103, 25, $WS_GROUP)
Global $Button2 = GUICtrlCreateButton("Chatverlauf löschen", 13, 405, 110, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
Global $Form1_AccelTable[1][2] = [["{ENTER}", $Button1]]
GUISetAccelerators($Form1_AccelTable)
_GUICtrlEdit_Scroll($Edit1, $SB_PAGEDOWN)
#EndRegion ### END Koda GUI section ###Send("... ist dem Schul-Chat um " & @HOUR & ":" & @MIN & " Uhr beigetreten. {ENTER}")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$read2 = _StringEncrypt(0, FileRead($pfad), "1")
If $read2 <> GuiCtrlRead($Edit1) Then
GUICtrlSetData($Edit1, $read2)
_GUICtrlEdit_Scroll($Edit1, $SB_PAGEDOWN)
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$read = GUICtrlRead($Edit2)
If $read = "" Then
MsgBox(64, "Information", "Du kannst keine Nachricht ohne Inhalt senden!")
Else
FileDelete($pfad)
FileWrite($pfad, _StringEncrypt(1, $read2 & $user & ": " & $read & @CRLF, "1"))
GUICtrlSetData($Edit2, "")
EndIf
Case $Button2
$msgbox = Msgbox(52, "Warnung", "Bist du dir sicher, dass du den Chatverlauf von ALLEN Computern löschen willst?")
If $msgbox = 6 Then
FileDelete($pfad)
EndIf
EndSwitch
WEndFunc hide()
[/autoit] [autoit][/autoit] [autoit]
winsetstate("Schul-Chat 1.0 Beta", "", @SW_HIDE)
EndFuncFunc show()
[/autoit]
winsetstate("Schul-Chat 1.0 Beta", "", @SW_SHOW)
EndFunces muss dort hin wenn auch der text von edit1 gesetzt wird
-
Oke das funktioniert PERFEKT!
viele vielen Dank