Hello Peoples,
ich habe ein kleines Proggi geschrieben um in einem Edit ein Satz mit einem drehenden Balken dahinter anzuzeigen. Das würde ich als kleine Animation in einem anderen Proggi benutzen um dort eine
Wartezeit zu überbrücken, solange bestimmte Dinge im Hintergrund ausgeführt werden.
Es ist mir beinahe peinlich aber ich bekomme es nicht hin, statt dem normalen Bindestrich (sieht echt doof aus), den langen Bindestrich (ASCII-Code 151) in dem Edit anzeigen zu lassen. Geht der Code gar nicht
oder brauche ich eine andere Schrift? Achja, in einer MsgBox wird Chr(151) richtig angezeigt...
AutoIt
#include <AutoItConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 616, 144, 610, 151)
$Edit1 = GUICtrlCreateEdit("", 40, 32, 553, 50, $ES_READONLY)
GUICtrlSetData(-1, "")
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUISetState()
DllCall("user32.dll", "int", "HideCaret", "int", 0)
$Label1 = GUICtrlCreateLabel("Im Eingabe Feld sollte ein Balken kreiseln...", 40, 8, 208, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $i = 0
Global $bExitLoop = False ; Abbruchbedingung damit die While Wend schleife in _Balken beendet werden kann
_Balken()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _Balken()
;~ ### Auflistung der Zeichencodes für $n ###
;~ "|" ;124 Unicode = 02502
;~ "/" ;47 Unicode = 02571
;~ "-" ;45, long 151 Unicode = 02500
;~ "\" ;92 Unicode = 02572
;~ ### END Liste ###
Local $a = 1
While Not $bExitLoop
If $a = 26 Then
$bExitLoop = True
EndIf
Switch $i
Case $i = 1
$n = 124
Case $i = 2
$n = 47
Case $i = 3
$n = 45
Case $i = 4
$n = 92
Case $i > 4
$i = 0
Case Else
ExitLoop
EndSwitch
If $bExitLoop Then
GUICtrlSetData($Edit1, @CRLF & "ready")
ExitLoop
EndIf
$i = $i + 1
$a += 1
GUICtrlSetData($Edit1, "please be patient until preparations are done... " & Chr($n))
Sleep(300)
WEnd
EndFunc ;==>_Balken
Alles anzeigen