Partagez vos scripts, et vos applications AutoIt.
Narmeke
Niveau 6
Messages : 247 Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status :
Hors ligne
#1
Message
par Narmeke » ven. 26 févr. 2010 13:34
Bonjours,
Voici un script qui permet d'avoir le titre d'une de vos gui animé
Le script est loin d'être parfait je m'en doute
, mais c'est surtout pour donner des idée
Pour ma part je pense qu'il serait plus adapté pour le mode événementielle...
► Afficher le texte
Code : Tout sélectionner
[strike]#include <ButtonConstants.au3>[/strike]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $Texte = ""
$Form1 = GUICreate($Texte, 200, 200, 376, 260)
GUISetState(@SW_SHOW)
$Activation = 1
$i = 0
While 1
_TITLE_ANIM()
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
$i = $i + 1 ;On incrémente !
WEnd
Func _TITLE_ANIM()
If $Activation = 1 Then
If $i = 1 Then
WinSetTitle ($Texte, "", "B" )
Sleep(100)
EndIf
If $i = 2 Then
WinSetTitle ($Texte, "", "By" )
Sleep(100)
EndIf
If $i = 3 Then
WinSetTitle ($Texte, "", "By " )
Sleep(100)
EndIf
If $i = 4 Then
WinSetTitle ($Texte, "", "By N" )
Sleep(100)
EndIf
If $i = 5 Then
WinSetTitle ($Texte, "", "By Na" )
Sleep(100)
EndIf
If $i = 6 Then
WinSetTitle ($Texte, "", "By Nar" )
Sleep(100)
EndIf
If $i = 7 Then
WinSetTitle ($Texte, "", "By Narm" )
Sleep(100)
EndIf
If $i = 8 Then
WinSetTitle ($Texte, "", "By Narme" )
Sleep(100)
EndIf
If $i = 9 Then
WinSetTitle ($Texte, "", "By Narmek" )
Sleep(100)
EndIf
If $i = 10 Then
WinSetTitle ($Texte, "", "By Narmeke" )
Sleep(100)
EndIf
If $i = 11 Then
WinSetTitle ($Texte, "", "Une GUI animé !!" )
$i = 0
Sleep(100)
EndIf
EndIf
EndFunc ;==>__TITLE_ANIM()
Si vous voulez vous pouvez poster vos améliorations du script
Tlem
Site Admin
Messages : 11791 Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status :
Hors ligne
#2
Message
par Tlem » ven. 26 févr. 2010 14:41
Comme je l'ai déjà expliqué, AutoIt est là pour simplifier les tâches répétitives, par pour les compliquer ...
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Global $Texte = "", $sTitre = "Ceci est un titre 'annimé'"
AdlibRegister("_Titre_ANIM", 200)
$Form1 = GUICreate($Texte, 300, 200, 376, 260)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _Titre_ANIM()
$i = StringLen(WinGetTitle($Form1)) + 1
WinSetTitle($Form1, "", WinGetTitle($Form1) & StringMid($sTitre, $i ,1))
If $i > StringLen($sTitre) Then
WinSetTitle($Form1, "", "")
Sleep(500)
EndIf
EndFunc
De plus, il me semble bien qu'il existe déjà un UDF capable de gérer le texte de divers contrôles. Il permet de faire défiler le texte dans tous les sens et plus encore ...
En cherchant sur le forum, trouverez surement.
Narmeke
Niveau 6
Messages : 247 Enregistré le : mer. 28 oct. 2009 11:31
Localisation : Libourne
Status :
Hors ligne
#3
Message
par Narmeke » ven. 26 févr. 2010 16:27
Effectivement, vous aviez une fois de plus raison
En cherchant on trouve !
Mais j'aime bien votre exemple.
TommyDDR
Modérateur
Messages : 2104 Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status :
Hors ligne
#4
Message
par TommyDDR » lun. 24 janv. 2011 17:15
Arf, j'aurai peut être du lire les réponses avant de me lancer dedent ^^
Bref : Voila ma version ^^'
► Afficher le texte code
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Global $Titre = "Voila un titre..."
Global $Compteur = 0
Global $Form1
$Form1 = GUICreate("", 300, 200, 376, 260)
GUISetOnEvent($GUI_EVENT_CLOSE, "quit")
GUISetState(@SW_SHOW)
AdlibRegister("_TITLE_ANIM", 50)
While(True)
Sleep(10)
WEnd
Func _TITLE_ANIM()
$Compteur += 1
WinSetTitle($Form1, "", StringLeft($Titre, $Compteur))
If($Compteur >= StringLen($Titre)) Then
$Compteur = 0
EndIf
EndFunc ;==>__TITLE_ANIM()
Func quit()
Exit
EndFunc
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679