Gambas France BETA


Pas de compte ? Incription

Exemple 3 :

Faire un Splashform avec progressBar :


Exemple téléchargeable ici : Exemple de SplashForm

Dans une form servant de splash, placer un ProgressBar

Les déclarations de mise :


1
2
3
PUBLIC hConsoleTimer AS Timer 'on peut aussi le créer grâce à l'IDE
PUBLIC siCount AS SHORT 'décompte du temps
PUBLIC iTemp AS INTEGER 'durée définie

Ouverture du splashForm :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PUBLIC SUB Form_Open()

ME.Center
hConsoleTimer = NEW Timer AS "Timer1" 'instanciation du timer
hConsoleTimer.Delay = 1 'delay 1 Milliseconde pour la fluidité du progressBar
hConsoleTimer.Enabled = TRUE 'démarrage du timer

iTemp = 3000 'durée choisie, ici 3 secondes soit 3000 millisecondes

IF ModPrinc.bCloture = FALSE THEN 'affichage Chargement ou Arrêt
Label5.Text = (" Chargement en cours ... ")
ELSE
Label5.Text = (" Arrêt en cours ... "
ENDIF

Label2.Text = ("Titre :") & " " & Application.Title & (" | Version :") & " " & Application.Version

END

Définition du travail fait par le Timer à chaque boucle évènement, ici toutes les millisecondes tel que défini : hConsoleTimer.Delay = 1 :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
PUBLIC SUB Timer1_Timer()

DIM sPremier AS STRING 'premier mot
DIM sLasuite AS STRING ' second mot

SplashForm.Mouse = Mouse.Wait 'curseur d'attente
ProgressBar1.Visible = TRUE 'affichage progressBar
INC siCount 'incrément du compteur
ProgressBar1.value = siCount / iTemp 'défilement du progressBar

IF siCount MOD 100 = 0 THEN 'défilement du texte à chaque fois que le reste de la division est nul (division juste)
sPremier = Left(Label5.Text, 1)
sLasuite = Right(Label5.Text, Len(Label5.Text) - 1)
Label5.text = sLasuite & sPremier
ENDIF

IF siCount = iTemp THEN
ME.Close 'fermeture quand compteur= temps choisi
ENDIF

END

Fermeture de la form :


1
2
3
4
5
6
7
PUBLIC SUB Form_Close() 'fermeture de la form

hConsoleTimer.Stop
hConsoleTimer = NULL
ProgressBar1 = NULL

END

Ça donne un truc du genre :


Bien sûr, le texte ainsi que la barre horizontale défilent.



====================

Commandes utilisées :


Dim
Timer
MOD
Message
Inc
ProgressBar



====================

Navigation :



<-- Liens du Wiki : <--
<-- Accueil du WIKI : <--

====================

Documentation :



====================