I. Avertissement▲
L'utilisation de la touche F1 est vivement conseillée à tous les stades de l'utilisation d'ACCESS. L'amélioration constante de l'aide en fait un partenaire de choix dans l'apprentissage permanent d'ACCESS. Personnellement, je ne peux m'en passer, ne serait-ce que pour mémoire.
II. Pré requis - Graphiques et textes▲
Pour réussir un bon splash-screen, à part le côté programmation,
il faut choisir une belle police de caractères et un beau graphique
de préférence en ayant un rapport avec le logiciel.
Vous pouvez vous inspirer de ceux des grands logiciels comme Adobe Photoshop,
Paint Shop Pro ou Adobe Acrobat.
II-A. L'image▲
Pour l'image, prenez un bon logiciel de retouche photo, du type Adobe
Photoshop Element, Paint Shop Pro ou The Gimp, ce dernier est gratuit
et très performant.
Choisissez une police de caractères sur de nombreux sites existants.
La plupart proposent des centaines de polices gratuites.
Donner du relief à votre image en appliquant un effet de style "bouton".
Sauvegardez votre image au format GIF ou JPG (JPEG) normalement vous pouvez avoir une belle image pour une quinzaine de kilo-octets. L'exemple ci-dessous est un gif de 10 kilo-octets.
II-B. Le texte▲
Il ne faut pas oublier que le splash-screen ne reste pas indéfiniment affiché. Ne chargez pas trop en texte, et choisissez une taille suffisamment grande pour que l'utilisateur puisse le lire sans effort. Mettez les informations habituelles comme le nom de l'application, ceux des concepteurs et n'oubliez pas le logo du client et de votre société.
Ne mettez pas le numéro de version de l'application, sinon vous devrez faire des modifications de l'image à chaque nouvelle livraison.
III. Le formulaire▲
III-A. Mise au point visuelle▲
Ouvrez une base de données et créer un formulaire vierge.
Insérez l'image en utilisant le contrôle Image et cadrez-la en haut
à gauche.
Réglez les propriétés suivantes :
Propriétés | Valeur |
---|---|
Affichage autorisé | Formulaire |
Barre défilement | Aucune |
Afficher sélecteur | Non |
Boutons de déplacements | Non |
Diviseurs d'enregistrements | Non |
Taille ajustée | Non |
Auto centrer | Oui |
Boîte contrôle | Non |
Boutons MinMax | Aucun |
Bouton Fermer | Non |
Bouton Fermer | Non |
Style bordure | Aucun |
Mettez-vous en mode consultation et utilisez la souris pour régler les dimensions du formulaire. Une fois l'opération effectuée, repassez en mode création et modifiez la dernière propriété du formulaire.
Propriétés | Valeur |
---|---|
Fen modale | Oui |
Pour éviter de voir le fond du formulaire, colorez-le en gris
Propriétés | Valeur |
---|---|
Couleur fond | 8421504 |
et réduisez la taille du fond et du formulaire pour qu'il colle à l'image.
A ce stade, vous pouvez faire un essai. Pour cela, commencez par enregistrer le formulaire, le nom de frmSplashScreen semble tout indiqué, fermez-le puis rouvrez-le pour qu'il s'affiche au milieu de la fenêtre ACCESS. (propriété Auto Centrer = Oui)
III-B. Le code▲
Une des fonctions les plus méconnues d'Access est certainement
la minuterie. Celle-ci n'est présente que sur les objets formulaires.
Sa mise en oeuvre se fait à deux niveaux :
- La définition d'un intervalle de temps (exprimé en millisecondes)
- La procédure qui sera exécutée toutes les n millisecondes.
Propriétés | Valeur |
---|---|
Intervalle minuterie | 1000 |
Sur minuterie | [Procédure événementielle] |
La procédure événementielle vise à ouvrir le formulaire principal de l'application et à fermer le formulaire au bout de n millisecondes.
Private
Sub
Form_Timer
(
)
Me.TimerInterval
=
0
' arret de la minuterie
DoCmd.OpenForm
"frmMenuPrincipal"
' ouverture du forms de l'application
DoCmd.Close
acForm, Me.Name
' fermeture du splash
End
Sub
TimeInterval correspond à la propriété Intervalle minuterie. Celle-ci doit être remise à zéro.
Si la minuterie n'est pas remise à zéro, cela peut entraîner une instabilité voire un blocage du système. Seul l'arrêt de la tâche MSACCESS.EXE dans le gestionnaire du même nom (ctrl+alt+del) peut débloquer la situation.
Dans un deuxième temps, on ouvre un formulaire, en principe c'est votre menu.
Puis on ferme le SplashScreen.
III-C. Afficher des informations supplémentaires▲
Dans un SplashScreen, outre les renseignements statiques, vous souhaiterez
peut-être afficher des informations dynamiques comme un numéro de version
ou bien le nom de l'utilisateur.
Pour cela nous devons créer une étiquette.
- Ouvrez le formulaire en mode création,
- Ajouter une étiquette où vous souhaitez voir figurer l'information,
- Écrivez "Version-User" à l'intérieur,
- Donner-lui une largeur suffisante.
- Allez dans le menu Format et choisissez Mettre au premier plan,
- Afficher les propriétés en changer le nom en lblVersion.
Cliquez sur le carré en haut à gauche pour sélectionner les propriétés du formulaire.
Créez une procédure sur l'évènement Sur réception focus comme nous avons fais précédemment. Écrivez le code suivant dans la procédure.
' on inscrit le N° de version et l'utilisateur Windows
me.lblVersion.caption
=
"V. 1.0 - "
&
Environ
(
"USERNAME"
)
' ou bien
me.lblVersion.caption
=
"V. 1.0 - "
&
CurrentUser
' ici c'est l'utilisateur Access connecté.
III-D. Les réglages▲
Les réglages sont simples car ils ne concernent que le temps d'affichage.
Pour les modifier il suffit de jouer sur la valeur de la propriété
Intervalle minuterie.
La partie SplashScreen est terminée.
IV. Intégration du Splashscreen▲
L'intégration du SplashScreen peut se faire à plusieurs niveaux, puisqu'il existe plusieurs manières d'ouvrir un formulaire au démarrage.
IV-A. Par Macro▲
Vous pouvez lancer le formulaire par la macro de démarrage :
- Ouvrez une macro vierge
- Insérez l'action OuvrirFormulaire
- Dans Nom formulaire, indiquez le nom : frmSplashScreen
- Affichage : Formulaire
- Mode fenêtre : Standard
- Enregistrez la macro sous le nom : Autoexec
IV-B. Par l'option Formulaire de démarrage▲
Vous pouvez également utiliser les options de démarrage d'Access du menu Outils/Démarrer....
IV-C. Par procédure VBA▲
Lorsque vous souhaitez effectuer d'autres tâches au démarrage de votre application, préférez plutôt
la procédure VBA.
Pour cela, procédez comme pour un démarrage par Macro (Autoexec) mais indiquez
l'action ExécuterCode à la place de OuvrirFormulaire.
Donnez le nom de la procédure ; dans notre cas, il s'agit de Startup.
Ouvrez un nouveau module et créez une procédure (Sub) que vous nommerez StartUp().
Sub
Startup
(
)
DoCmd.OpenForm
"SplashScreen"
, acNormal ' ouvrir le splashscreen
DoEvents ' pour version 2002 et +
' execute les traitements divers
' ....
DoCmd.Close
acForm, "SplashScreen"
, acSaveNo ' ferme le splashscreen
End
Sub
Il est évident que dans ce cas la fermeture est conditionnée par une procédure externe
(DoCmd.Close acForm, "SplashScreen", acSaveNo).
Il est donc impératif que le splashscreen ne commande pas lui même sa fermeture. Pour cela, il suffit
simplement de mettre la minuterie à 0.
V. Versions postérieures à Access 2000▲
Il a été constaté, à partir d'ACCESS 2002, que le splash-screen
n'apparaît pas toujours.
Ce problème se produit lorsque du code est exécuté après l'appel du
formulaire splash-screen.
Après quelques tests, la solution à apporter est l'insertion d'un DoEvents
immédiatement à la suite de l'affichage du SplashScreen.
- Si vous avez choisi l'ouverture via les options de démarrage, insérez le DoEvents au début de votre procédure qui suit.
- Si vous avez choisi l'ouverture via une procédure au démarrage placez le DoEvents après le Docmd.OpenForm "SplashScreen".
Le DoEvents à pour effet de terminer toutes les tâches avant de continuer l'exécution.
VI. Conseils▲
C'est ici que se termine ce tutoriel. Nous avons vu qu'un splashscreen n'est pas compliqué à réaliser, le plus difficile étant le choix et la réalisation d'un graphique. N'oubliez pas que si vous désirez que votre application s'affiche en plein écran, ne le faites pas tant que le splashscreen ne sera pas fermé.
VII. Remerciements▲
Je tiens à remercier :
Cerbères pour le temps passé en relecture et correction.
Tequila pour avoir mis en lumière le problème constaté avec les versions
ultérieures d'Access 2000.
Jean-Louis HUBICHE pour ses judicieuses remarques de dernière minutes.
ndlr : Apparement chez les HUBICHE on pratique ACCESS de père en fils... et c'est
une bonne chose.
À l'équipe de Developpez.com pour la qualité du site.
À Nono40 pour son super éditeur XML qui se bonifie avec le temps comme un vieux Pommard.
Je présente mes plus plates excuses à ceux que j'aurais omis de remercier.