0% ont trouvé ce document utile (0 vote)
85 vues45 pages

Cours VB

Ce document présente une introduction à Microsoft Visual Basic, y compris son installation, ses composants et des sources d'aide. Visual Basic est un langage de programmation accessible qui permet de créer des applications Windows facilement grâce à une interface graphique. Il existe plusieurs éditions de Visual Basic adaptées à différents besoins de développement, et le document fournit également des informations sur les fichiers de projet et les types de données des variables.

Transféré par

khalid
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
85 vues45 pages

Cours VB

Ce document présente une introduction à Microsoft Visual Basic, y compris son installation, ses composants et des sources d'aide. Visual Basic est un langage de programmation accessible qui permet de créer des applications Windows facilement grâce à une interface graphique. Il existe plusieurs éditions de Visual Basic adaptées à différents besoins de développement, et le document fournit également des informations sur les fichiers de projet et les types de données des variables.

Transféré par

khalid
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

Chapitre

1
Introduction à Visual Basic
Ce chapitre comporte des informations sur l'installation de Microsoft Visual Basic sur votre système, l'ajout ou la
suppression de composants Visual Basic, l'utilisation de l'aide en ligne ainsi que des sources d'apprentissage ou d'aide
complémentaires sur l'utilisation de Visual Basic.
Sommaire
 Introduction à Visual Basic
 Installation de Visual Basic
 Sources d'aide

Introduction à Visual Basic


Visual Basic de Microsoft est l'outil le plus rapide et le plus facile à utiliser pour créer des applications Microsoft
Windows®. Que vous soyez un programmeur professionnel ou que vous découvriez la programmation sous Windows,
Visual Basic vous offre une gamme complète d'outils qui simplifient et accélèrent le développement d'applications.
De quoi se compose Visual Basic ? Le mot « Visual » fait référence à la méthode utilisée pour créer l'interface graphique
utilisateur (GUI, Graphical User Interface). Au lieu de rédiger de multiples lignes de code pour décrire l'apparence et
l'emplacement des éléments d'interface, il vous suffit de glisser-déplacer des objets prédéfinis à l'endroit adéquat sur l'écran.
Si vous avez déjà utilisé des programmes de dessin tels que Paint, vous disposez de la plupart des compétences requises
pour créer une interface utilisateur performante.
Le mot « Basic » fait référence au langage BASIC (Beginners All-Purpose Symbolic Instruction Code), langage le plus
utilisé par les programmeurs depuis les débuts de l'informatique. Visual Basic constitue une évolution par rapport au
langage BASIC initial et comporte aujourd'hui plusieurs centaines d'instructions, de fonctions et de mots clés, dont un grand
nombre font directement référence à l'interface graphique utilisateur (GUI) de Windows. Si vous débutez, vous serez en
mesure de créer des applications très utiles en n'apprenant que quelques mots clés ; et si vous êtes un programmeur
professionnel, la puissance de ce langage vous permettra de développer tout ce qu'il est possible de développer avec tout
autre langage de programmation Windows.
Le langage de programmation Visual Basic n'est pas propre à Visual Basic. Le système de programmation Visual Basic,
l'Édition pour applications incluse dans Microsoft Excel, Microsoft Access et un grand nombre d'autres applications
Windows utilisent le même langage. Le système de programmation Visual Basic, Scripting Edition (VBScript), pour la
programmation pour Internet, est un sous-ensemble du langage Visual Basic. Le temps que vous consacrerez à
l'apprentissage de Visual Basic sera donc amorti dans ces autres domaines.
Que vous ayez l'intention de créer un petit utilitaire pour vous-même ou votre groupe de travail, un système à l'échelle de
l'entreprise ou même des applications partagées internationales sur Internet, Visual Basic met à disposition tous les outils
nécessaires.
 Les fonctions d'accès aux données vous permettent de créer des bases de données et des applications frontales pour les
formats de base de données les plus utilisés, tels que Microsoft SQL Server et d'autres bases de données à l'échelle de
l'entreprise.
 La technologie ActiveX™ vous permet d'utiliser les fonctionnalités offertes par d'autres applications, telles que le
traitement de texte Microsoft Word, le tableur Microsoft Excel et d'autres applications Windows. Vous pouvez même
automatiser les applications et les objets créés à l'aide de l'Édition Professionnelle ou de l'Édition Entreprise de
Visual Basic.
 Les fonctionnalités Internet facilitent l'accès à des documents et à des applications sur Internet depuis votre application.
 Votre application finale est un véritable fichier .exe qui utilise à l'exécution une bibliothèque de liaisons dynamiques
(DLL, Dynamic-Link Library) que vous êtes libre de distribuer.

Éditions Visual Basic

Ahmed ABOUABDELLAH 1
Visual Basic est disponible en trois versions, chacune étant optimisée pour répondre à des besoins de développement
spécifiques.
 L'Édition Initiation permet aux programmeurs de créer facilement de puissantes applications pour Microsoft Windows
95 et Windows NT®. Elle comprend tous les contrôles intrinsèques ainsi que les contrôles Grid, Tab et les contrôles
dépendants. La documentation fournie avec cette édition inclut la documentation papier Guide de l'utilisateur, une aide
en ligne et les Manuels en ligne Visual Basic.
 L'Édition Professionnelle offre aux informaticiens une gamme d'outils aux fonctionnalités complètes permettant de
développer des solutions autonomes. Elle comprend toutes les fonctionnalités de l'Édition Initiation ainsi que des
contrôles ActiveX supplémentaires, notamment les contrôles Internet, et le module Crystal Reports. La documentation
fournie avec l'Édition Professionnelle comprend le Guide de l'utilisateur, l'aide en ligne, le Guide des composants et le
Manuel de l'utilisateur de Crystal Reports pour Visual Basic.
 L'Édition Entreprise permet aux professionnels de créer des applications partagées fiables au sein d'une équipe. Elle
comprend toutes les fonctionnalités de l'Édition Professionnelle, ainsi que le module Automation Manager, le
Gestionnaire de composants, des outils de gestion de base de données, le système de contrôle de version orienté projet
Microsoft Visual SourceSafe ™, et bien plus encore. La documentation papier fournie avec l'Édition Entreprise comprend
la totalité de
la documentation de l'Édition Professionnelle, ainsi que le Guide de création d'applications client/serveur avec
Visual Basic et le Guide de l'utilisateur de SourceSafe.
Installation de Visual Basic
Pour installer Visual Basic sur votre ordinateur, utilisez le programme d'installation. Ce dernier installe le programme
Visual Basic, le système d'aide, les exemples d'applications, les Manuels en ligne Visual Basic et d'autres composants du
produit du CD-ROM sur votre disque dur.
Important Il ne vous suffit pas de copier les fichiers du CD-ROM sur votre disque dur et de lancer Visual Basic. Vous devez utiliser le
programme d'installation, qui décompresse et installe les fichiers dans les dossiers appropriés.

Avant de lancer le programme d'installation


Avant d'installer Visual Basic, vérifiez que votre ordinateur répond à la configuration minimale requise et consultez le
fichier Lisezmoi, situé dans le dosssier racine du disque d'installation.
Vérifiez la configuration système et matérielle requise
Pour exécuter Visual Basic, votre ordinateur doit disposer d'éléments matériels et logiciels spécifiques. La configuration
requise est la suivante :
 Microsoft Windows NT 3.51 (ou une version ultérieure), ou Microsoft Windows 95
 Microprocesseur 80486 (ou supérieur)
 Disque dur avec un minimum de 500 méga-octets d'espace disponible pour une installation complète
 Lecteur de CD-ROM
 Écran VGA ou de résolution supérieure pris en charge par Microsoft Windows
 16 Mo de RAM
 Souris ou autre périphérique de pointage adapté

Pour plus d'informations sur la configuration requise, reportez-vous à la section « Configuration requise pour les
applications Visual Basic » de l'annexe A, « Spécifications, limitations et formats de fichier de Visual Basic ».

Consultez le fichier Lisezmoi


Le fichier Lisezmoi dresse la liste de toutes les modifications apportées à la documentation Visual Basic depuis sa
publication. Pour le consulter, cliquez sur Lisez-moi d’abord dans le premier écran d'installation ou ouvrez-le depuis le
dossier racine du CD-ROM. Pour obtenir des informations complémentaires ou plus récentes sur l'installation de
Visual Basic, consultez la première section du fichier.
Configuration de Visual Basic

Ahmed ABOUABDELLAH 2
Lorsque vous exécutez le programme d'installation, un dossier est créé pour Visual Basic ; vous pouvez ensuite sélectionner
les composants Visual Basic à installer.
À l'exception des fichiers du système d'exploitation du dossier \Os, les fichiers du CD-ROM ne sont pas compressés et
peuvent donc être utilisés directement à partir de ce dernier. Par exemple, si vous décidez de ne pas installer les fichiers
d'aide et les Manuels en ligne sur votre disque dur, vous pouvez toujours les exécuter depuis Visual Basic. Il reste possible
d'appuyer sur F1 pour obtenir les messages d'aide correspondants ; l'aide contextuelle est donc toujours disponible.

Pour installer Visual Basic à partir d'un CD-ROM


1 Introduisez le CD dans le lecteur de CD-ROM.
2 Utilisez la commande de votre système d'exploitation permettant d'exécuter le programme d'installation (qui figure dans
le dossier racine du CD-ROM). Si l'option d'exécution automatique est activée sur votre système, le programme
d'installation sera automatiquement chargé lorsque vous introduirez le CD-ROM.
3 Cliquez sur Installer Visual Basic .
4 Suivez les instructions d'installation qui vous sont fournies.

Pour plus d'informations consultez le fichier Lisezmoi afin d'obtenir des instructions détaillées sur l'installation de
Visual Basic.

Ajout ou suppression de composants Visual Basic


Vous pouvez exécuter le programme d'installation autant de fois que vous le souhaitez. Vous pouvez par exemple l'exécuter
pour installer de nouveau Visual Basic dans un autre dossier ou pour installer d'autres composants Visual Basic.

Pour ajouter ou supprimer des composants Visual Basic


1 Introduisez le CD dans le lecteur de CD-ROM.
2 Utilisez la commande de votre système d'exploitation permettant d'exécuter le programme d'installation (qui figure dans
le dossier racine du CD-ROM). Si l'option d'exécution automatique est activée sur votre système, le programme
d'installation sera automatiquement chargé lorsque vous introduirez le CD-ROM.
3 Cliquez sur le bouton Complète/Personnalisée dans la boîte de dialogue Installation de Microsoft Visual Basic
4 Sélectionnez les composants à installer (ou désélectionnez les composants à supprimer) dans la zone de liste Options de
la boîte de dialogue Complète/Personnalisée.
5 Suivez les instructions d'installation qui vous sont fournies.

Lancement de Visual Basic


Une fois la procédure d'installation terminée, vous pouvez lancer Visual Basic à l'aide du bouton Démarrer de la barre des
tâches de Windows 95. Si l'option d'exécution automatique est activée sur votre système, vous pouvez également lancer
Visual Basic en introduisant le CD-ROM Visual Basic 5.0 dans le lecteur.
Pour plus d'informations reportez-vous au chapitre 2 « Développement d'une application dans Visual Basic ».
Sources d'aide
Le système de documentation en ligne couvre la quasi-totalité des fonctionnalités de Visual Basic. Il comprend notamment :
 les Manuels en ligne Visual Basic, soit un programme de consultation en ligne qui affiche la documentation dans une
fenêtre unique à laquelle accède un moteur de recherche aux multiples fonctionnalités ;
 l'aide en ligne, contenant des informations très détaillées sur l'environnement de programmation et le langage
Visual Basic ;
 les liens Web sur Visual Basic, fournissant des pointeurs qui permettent d'accéder sur le World Wide Web des sources
d'information sur Visual Basic ;
 les services de support technique Microsoft, donnant des informations sur les différentes sources de support technique.

Ahmed ABOUABDELLAH 3
Manuels en ligne Visual Basic
Les Manuels en ligne Visual Basic rassemblent la totalité de la documentation Visual Basic à un emplacement unique. Ils
comprennent également des sections et des animations multimédia non disponibles dans la documentation papier. Par
ailleurs, ils offrent la possibilité de consulter toutes les sections disponibles sur un sujet précis dans la documentation papier
ou en ligne de Visual Basic, en une seule recherche.

Pour lancer les Manuels en ligne Visual Basic


 Dans le menu d'aide (?), cliquez sur Rechercher dans l’index principal. Les Manuels en ligne Visual Basic sont
affichés, comme illustré à la figure 1.1.
Différentes méthodes vous sont proposées pour rechercher des informations dans les Manuels en ligne :
 À l'aide de la table des matières. Le volet Sommaire affiche une liste hiérarchique complète de manuels et de rubriques.
Vous pouvez parcourir cette liste de la même façon que dans l'Explorateur sous Windows 9X , … .
 À l'aide de l'index des mots clés. Vous pouvez effectuer une sélection dans une liste alphabétique similaire à celle des
mots clés de recherche dans l'aide en ligne.
 À l'aide de la recherche plein texte. Vous pouvez taper un mot ou une expression, ou sélectionner une chaîne de
recherche précédente dans la liste déroulante. Vous pouvez également utiliser des opérateurs de recherche booléens.
Pour plus d'informations sur l'utilisation de l'Explorateur des Manuels en ligne Visual Basic, consultez l'aide qui les
accompagne.
Formats des fichiers de projet
Microsoft Visual Basic utilise et crée un certain nombre de fichiers lors de la conception et de l'exécution. Les fichiers
utilisés dépendent de la portée et des fonctionnalités de votre projet ou de votre application.
Extensions des fichiers de projet
Microsoft Visual Basic crée un certain nombre de fichiers lors de la création et de la compilation d'un projet. Ces fichiers
peuvent être répartis en trois catégories : conception, développement et exécution.
Les fichiers de conception sont les éléments de base de votre projet : modules de base (.bas) et de feuille (.frm), par
exemple.
Les fichiers de développement sont générés par les divers processus et fonctions de l'environnement de développement
Visual Basic : fichiers de dépendance (.dep) de l'Assistant d'installation, par exemple.
Fichiers de conception et de développement
Le tableau suivant dresse la liste de tous les fichiers de conception et des autres fichiers pouvant être produits pendant la
mise au point d'une application :
Extension Description
.bas Fichier de module Basic
.cls Fichier de module de classe
.ctl Fichier de contrôles utilisateur
.ctx Fichier binaire de contrôles utilisateur
.dca Fichier cache de Fenêtre de conception ActiveX
.dep Fichier de dépendance de l'Assistant d'installation
.dob Fichier feuille de document ActiveX
.dox Fichier binaire de feuille de document ActiveX
.dsr Fichier Fenêtre de conception ActiveX
.dsx Fichier binaire Fenêtre de conception ActiveX
.frm Fichier feuille
.frx Fichier binaire feuille
.log Fichier journal des erreurs de chargement

Ahmed ABOUABDELLAH 4
.oca Fichier cache TypeLib de contrôles
.pag Fichier Page de propriétés
.pgx Fichier binaire Page de propriétés
.res Fichier de ressources

Ahmed ABOUABDELLAH 5
Extension Description
.swt Fichier de modèle des Assistants Visual Basic
.tlb Fichier TypeLib Automation à distance
.vbg Fichier groupe de projets Visual Basic
.vbl Fichier licence de contrôles utilisateur
.vbp Fichier projet Visual Basic
.vbr Fichier d'inscription Automation à distance
.vbw Fichier environnement de travail du projet Visual Basic
.vbz Fichier modèle de l'Assistant d'installation

Fichiers d'exécution
Lors de la compilation de votre application, tous les fichiers de conception nécessaires sont inclus dans les fichiers
exécutables, dont vous trouverez la liste ci-dessous :
Extension Description
.dll Composant ActiveX in-process
.exe Fichier exécutable ou composant ActiveX
.ocx Contrôle ActiveX
.vbb Fichier d'amorçage de document ActiveX
.vbd Fichier d'état de document ActiveX

Type de données des variables


Utilisez les préfixes suivants pour indiquer le type de données d'une variable.
Type de données Préfixe Exemple
Boolean bln blnFound
Byte byt bytRasterData
Collection (Objet) col colWidgets
Currency cur curRevenue
Date (Time) dtm dtmStart
Double dbl dblTolerance
Error err errOrderNum
Integer int intQuantity
Long lng lngDistance
Object obj objCurrent
Single sng sngAverage
String str strFName
Type défini par l'utilisateur udt udtEmployee
Variant vnt vntCheckSum

Ahmed ABOUABDELLAH 6
Chapitre
2
Développement d'une application dans Visual Basic

Il vous suffit de quelques minutes pour créer votre première application Visual Basic. Vous élaborez l'interface
utilisateur en « dessinant » des contrôles sur une feuille, notamment des zones de texte et des boutons de commande. Vous
définissez ensuite les propriétés de la feuille et des contrôles de façon à spécifier des valeurs telles que les légendes, la
couleur et la taille. Pour terminer, vous écrivez le code qui donnera ainsi naissance à l'application. Les principales étapes de
la création de votre première application vous éclaireront sur les principes que vous appliquerez dans toutes les autres
applications que vous serez amené à développer.
Ce chapitre fournit une vue d'ensemble du processus de développement des applications, explique la terminologie et les
compétences requises pour utiliser Visual Basic, et décrit de manière détaillée plusieurs applications simples.
Sommaire
 Concepts de Visual Basic
 Éléments de l'environnement de développement intégré (IDE)
 Votre première application Visual Basic
Éléments clés de Windows : fenêtres, événements et messages
Un ouvrage complet serait nécessaire pour décrire les mécanismes internes de Windows. La connaissance approfondie de
tous ces détails techniques n'est cependant pas nécessaire. Une version simplifiée de la mécanique de fonctionnement de
Windows s'articulerait autour de trois concepts essentiels : les fenêtres, les événements et les messages.
Considérez qu'une fenêtre est simplement une zone rectangulaire dotée de ses propres limites. Sans doute, connaissez-vous
déjà plusieurs types de fenêtres : une fenêtre Explorateur dans Windows 95, une fenêtre de document dans un programme de
traitement de texte, ou encore une boîte de dialogue qui apparaît pour vous rappeler
un rendez-vous important. S'il s'agit là des exemples les plus courants, il existe bien d'autres types de fenêtres. Un bouton de
commande est une fenêtre. Les icônes, les zones de texte, les boutons d'option et les barres de menus constituent tous des
fenêtres.
Le système d'exploitation Microsoft Windows gère ces nombreuses fenêtres en affectant à chacune d'elles un numéro
d'identification unique (descripteur de fenêtre ou hWnd). Le système surveille en permanence chacune de ces fenêtres de
façon à déceler le moindre événement ou signe d'activité. Les événements peuvent être engendrés par des actions de
l'utilisateur (notamment lorsque celui-ci clique un bouton de la souris ou appuie sur une touche), par un contrôle
programmé, voire même par des actions d'une autre fenêtre.
Chaque fois qu'un événement survient, un message est envoyé au système d'exploitation. Celui-ci traite le message et le
diffuse aux autres fenêtres. Chacune d'elles peut alors exécuter l'action appropriée de la manière prévue pour ce type de
message (notamment, se redessiner si elle n'est plus recouverte par une autre fenêtre).
Comme vous pouvez l'imaginer, il n'est pas simple de faire face à toutes les combinaisons possibles de fenêtres,
d'événements et de messages. Heureusement, Visual Basic vous épargne la gestion de tous les messages de bas niveau. La
plupart de ceux-ci sont automatiquement gérés par Visual Basic tandis que d'autres sont mis à disposition sous forme de
procédures Event afin de vous faciliter la tâche. Vous pouvez aussi écrire rapidement des applications puissantes sans vous
préoccuper de détails inutiles.
Description du modèle événementiel
Dans les applications traditionnelles ou « procédurales », c'est l'application elle-même, et non un événement, qui contrôle les
parties du code qui sont exécutées, ainsi que leur ordre d'exécution. Celle-ci commence à la première ligne de code et suit un
chemin défini dans l'application, appelant les procédures au fur et à mesure des besoins.
Dans une application événementielle, le code ne suit pas un chemin prédéterminé. Différentes sections du code sont
exécutées en réaction aux événements. Ceux-ci peuvent être déclenchés par des actions de l'utilisateur, par des messages
provenant du système ou d'autres applications, voire même par l'application proprement dite. L'ordre de ces événements
détermine l'ordre d'exécution du code. Le chemin parcouru dans le code de l'application est donc différent à chaque
exécution du programme.

Ahmed ABOUABDELLAH 7
Comme il est impossible de prévoir l'ordre des événements, votre code doit émettre certaines hypothèses quant à « l'état du
système » au moment de son exécution. Lorsque vous élaborez des hypothèses (par exemple quand vous supposez qu'un
champ de saisie doit contenir une valeur avant l'exécution de la procédure chargée de traiter cette valeur), vous devez
structurer votre application de telle sorte que cette hypothèse soit toujours vérifiée (par exemple en désactivant le bouton de
commande qui démarre la procédure aussi longtemps que le champ de saisie ne contient pas une valeur).
Votre code peut également déclencher des événements pendant l'exécution. Par exemple, la modification par
programmation du contenu d'une zone de texte déclenche l'événement Change qui lui est associé et donc l'exécution du
code éventuellement contenu dans cet événement. Si vous avez estimé que cet événement ne serait déclenché que par
dialogue avec l'utilisateur, vous risquez d'être confronté à des résultats inattendus. C'est pour cette raison qu'il est important
de bien comprendre le modèle événementiel et de le garder toujours à l'esprit tout au long de la phase de création d'une
application.
Développement interactif
Le processus traditionnel de développement des applications peut être divisé en trois étapes distinctes : l'écriture, la
compilation et la vérification du code. Contrairement aux langages traditionnels, Visual Basic adopte une approche
interactive dans laquelle disparaissent les distinctions entre ces trois étapes.
Dans la plupart des langages, une erreur commise dans l'écriture du code n'apparaît qu'au moment de la compilation de
l'application. Vous devez ensuite rechercher et corriger l'erreur avant de recommencer le cycle de compilation, et répéter ce
processus pour chaque erreur. Visual Basic procède de manière totalement différente : il interprète le code au fur et à mesure
de sa saisie, interceptant et signalant immédiatement la plupart des erreurs de syntaxe et des fautes d'orthographe. C'est un
peu comme si un expert était assis à vos côtés, vérifiant chaque ligne de code que vous introduisez.
Outre la détection immédiate des erreurs, Visual Basic compile également partiellement le code au moment de sa saisie.
Lorsque vous êtes prêt à exécuter et vérifier votre application, la compilation est déjà presque pratiquement terminée. Si le
compilateur découvre une erreur, il l'affiche en surbrillance dans votre code. Vous pouvez alors corriger l'erreur et poursuivre
la compilation sans devoir recommencer depuis le début.
En raison de la nature interactive de Visual Basic, vous exécuterez fréquemment votre application tout au fil de son
développement. Vous pourrez ainsi tester les effets de votre code alors même que vous l'écrivez, plutôt que d'attendre sa
compilation ultérieure.
Éléments de l'environnement de développement intégré (IDE)
 L'environnement de travail de Visual Basic est souvent désigné sous le nom de « environnement de développement
intégré » (IDE, Integrated Development Environment), car il intègre de nombreuses fonctions variées telles que la
création, la modification, la compilation et le débogage au sein du même environnement. Dans la plupart des outils de
développement traditionnels, chacune de ces fonctions est exécutée par un programme distinct doté de sa propre
interface.
Lorsque vous démarrez Visual Basic pour la première fois, vous voyez apparaître l'interface de l'environnement de
développement intégré, comme illustré à la figure 2.1.

Ahmed ABOUABDELLAH 8
Figure 2.1 L'environnement de développement intégré Visual Basic

Éléments de l'environnement de développement intégré (IDE)


L'environnement de développement intégré (IDE) de Visual Basic comprend les éléments suivants :

Barre de menus
Affiche les commandes qui vous permettent d'utiliser Visual Basic. Outre les menus habituels, à savoir Fichier, Edition,
Affichage, Fenêtre et ? (Aide), des menus permettent d'accéder à des fonctions spécifiques nécessaires à la programmation,
notamment les menus Projet, Format et Débogage.

Menus contextuels
Contiennent des raccourcis vers les actions les plus fréquemment exécutées. Pour ouvrir un menu contextuel, cliquez le
bouton droit de la souris sur l'objet en cours d'utilisation. La liste des raccourcis accessibles à partir des menus contextuels
dépend de la partie de l'environnement dans laquelle vous cliquez le bouton droit de la souris. Par exemple, le menu
contextuel affiché lorsque vous cliquez le bouton droit de la souris dans la boîte à outils vous permet d'afficher la boîte de
dialogue Composants, de masquer la boîte à outils, d'activer et de désactiver son ancrage, ou encore de lui ajouter un onglet
personnalisé.

Barres d'outils
Permettent d'accéder instantanément à la plupart des commandes les plus courantes de l'environnement de programmation.
Il vous suffit de cliquer une fois sur un bouton de la barre d'outils pour exécuter l'action qu'il représente. Par défaut, la barre
d'outils Standard apparaît lorsque vous démarrez Visual Basic. Il existe d'autres barres d'outils pour la modification, la
création de feuilles et le débogage. Elles peuvent être activées ou désactivées à l'aide de la commande Barres d'outils du
menu Affichage.
Les barres d'outils peuvent être ancrées sous la barre de menus ou « flotter » si vous cliquez sur la barre verticale située sur
le bord gauche et que vous la détachez de la barre de menus.

Boîte à outils
Fournit un ensemble d'outils nécessaires au moment de la création pour disposer les contrôles sur une feuille. Outre la
disposition par défaut de la boîte à outils, vous pouvez créer vos propres dispositions personnalisées en cliquant sur la
commande Ajouter un onglet du menu contextuel et en ajoutant ensuite les contrôles voulus à l'onglet ainsi créé.
Pour plus d'informations sur des contrôles déterminés, reportez-vous au chapitre 3, « Feuilles, contrôles et menus » et au
chapitre 7, « Utilisation des contrôles standard de Visual Basic ». Pour plus d'informations sur l'ajout de contrôles à la Boîte
à outils, reportez-vous à la section « Ajout de contrôles dans un projet » du chapitre 4, « Gestion de projets .

Ahmed ABOUABDELLAH 9
Fenêtre Explorateur de projets
Énumère les feuilles et les modules contenus dans votre projet en cours. Un projet est un ensemble de fichiers à partir
desquels vous créez une application.
Pour plus d'informations sur les projets, reportez-vous au chapitre 4, « Gestion de projets ».

Fenêtre Propriétés
Énumère les paramètres des propriétés de la feuille ou du contrôle sélectionné. Une propriété définit une caractéristique
d'un objet, notamment sa taille, sa légende ou sa couleur.
Pour plus d'informations sur les propriétés, reportez-vous à la section « Propriétés, méthodes et événements » du chapitre 3,
« Feuilles, contrôles et menus ».

Explorateur d'objets
Énumère les objets disponibles pour votre projet et vous permet de naviguer rapidement dans votre code. Vous pouvez
recourir à l'Explorateur d'objets pour examiner les objets dans Visual Basic et d'autres applications, connaître les méthodes
et propriétés disponibles pour ces objets, ainsi que pour coller des procédures de code dans votre application.
Pour plus d'informations sur l'utilisation de l'Explorateur d'objets pour l'examen des procédures, reportez-vous à la section
« Recherche d'informations sur les objets » du chapitre 9, « Programmation à l'aide d'objets ». Pour plus de détails sur
l'enrichissement de l'environnement de programmation Visual Basic à l'aide de compléments, reportez-vous à la section
« Utilisation des Assistants et des compléments » du chapitre 4, « Gestion de projets ».

Fenêtre de conception de feuille


Fait office de fenêtre personnalisable pour la création de l'interface de votre application. Vous ajoutez des contrôles, des
graphismes et des images à une feuille de façon à ce qu'elle prenne l'apparence souhaitée. Chaque feuille de votre
application possède sa propre fenêtre de conception de feuille.
Pour plus d'informations sur l'ajout de contrôles à une application, reportez-vous à la section « Votre première application
Visual Basic », plus loin dans ce chapitre. Pour plus d'informations sur la création d'une interface, reportez-vous au
chapitre 6, « Création d'une interface utilisateur ».

Fenêtre Code
Fait office d'éditeur pour la saisie du code de l'application. Une fenêtre Code distincte est créée pour chaque feuille ou
module de code de votre application.
Pour plus d'informations sur la saisie du code et l'utilisation de l'Éditeur de code, reportez-vous au chapitre 5, « Éléments
fondamentaux de programmation ».

Fenêtre Présentation des feuilles


La fenêtre Présentation feuille (Figure 2.2) vous permet de positionner les feuilles dans votre application grâce à une petite
représentation graphique de l'écran.

Figure 2.2 La fenêtre Présentation des feuilles

Ahmed ABOUABDELLAH 10
Fenêtres Exécution, Variables locales et Espions
Ces fenêtres supplémentaires sont destinées au débogage de votre application. Elles ne sont disponibles que lorsque vous
exécutez celle-ci dans l'environnement de développement intégré.
Pour plus d'informations sur le débogage et l'utilisation des fenêtres de débogage, reportez-vous chapitre 13, « Débogage
du code et gestion d'erreurs ».

Note Vous pouvez aussi ajouter des fonctionnalités supplémentaires à votre interface Visual Basic grâce à un programme appelé
complément. Les compléments, disponibles auprès de Microsoft et de développeurs tiers, vous permettent de bénéficier de fonctionnalités
supplémentaires, notamment le contrôle de code source, grâce auquel vous pouvez prendre en charge des projets de développement de
groupe.
Options de l'environnement
Visual Basic se caractérise par sa très grande souplesse qui vous permet de configurer l'environnement de travail exactement
comme vous le souhaitez. Vous avez le choix entre une interface document simple ou multidocument, et vous pouvez ajuster la
taille ainsi que le positionnement des différents éléments de l'environnement de développement intégré. Cette disposition est
préservée entre les sessions de Visual Basic.
Interface SDI ou MDI
L'environnement de développement intégré Visual Basic peut se présenter de deux manières différentes : d'une part
l'interface document simple (SDI, Single Document Interface) et d'autre part l'interface multidocument (MDI, Multiple
Document Interface). Si vous optez pour l'interface SDI, toutes les fenêtres de l'environnement de développement intégré
peuvent être déplacées en n'importe quel point de l'écran. Aussi longtemps que Visual Basic demeure l'application en cours,
ces fenêtres resteront affichées au premier plan, par-dessus les autres applications. En mode MDI, toutes les fenêtres de
l'environnement de développement intégré sont renfermées au sein d'une même fenêtre parent redimensionnable.

 Pour permuter les modes SDI et MDI


1 Cliquez sur Options dans le menu Outils.
La boîte de dialogue Options apparaît.
2 Cliquez sur l'onglet Étendues.
3 Activez ou désactivez la case à cocher Environnement de développement SDI.
La prochaine fois que vous démarrez Visual Basic, l'environnement de développement intégré s'ouvre dans le mode ainsi
sélectionné.
– ou –
Exécutez Visual Basic à partir de la ligne de commande en indiquant le paramètre /sdi ou /mdi.

Ancrage des fenêtres


Il est possible d'ancrer de nombreuses fenêtres de l'environnement de développement intégré, que ce soit les unes aux autres
ou le long du bord de l'écran. Il s'agit notamment de la Boîte à outils, de la fenêtre Présentation feuille, de l'Explorateur de
projets, de la fenêtre Propriétés, de la Palette de couleurs ainsi que des fenêtres Exécution, Variables locales et Espions.
En mode MDI, il est possible d'ancrer les fenêtres le long de n'importe quel côté de la fenêtre parent tandis qu'en mode SDI,
elles ne peuvent être ancrées que sous la barre de menus. Vous pouvez ainsi activer ou désactiver l'ancrage d'une fenêtre
déterminée au moyen de la case à cocher appropriée de l'onglet Ancrage de la boîte de dialogue Options, accessible à l'aide
de la commande Options du menu Outils.

 Pour activer ou désactiver l'ancrage d'une fenêtre


1 Sélectionnez la fenêtre dont vous souhaitez activer ou désactiver l'ancrage.
2 Faites glisser la fenêtre jusqu'à l'emplacement désiré en maintenant enfoncé le bouton gauche de la souris.
3 Pendant que vous faites glisser la fenêtre, son contour demeure affiché.
4 Relâchez le bouton de la souris.

Ahmed ABOUABDELLAH 11
Votre première application Visual Basic
Créer une application dans Visual Basic est simple. Pour mieux vous en rendre compte, essayez les applications Bonjour,
Visual Basic et Firstapp ci-dessous.

Bonjour, Visual Basic


La création d'une application dans Visual Basic implique trois étapes principales :
1 Créer l'interface.
2 Définir les propriétés.
3 Écrire le code.

Pour mieux comprendre ces différentes étapes, les procédures suivantes vous indiquent comment créer une application
simple composée d'une zone de texte et d'un bouton de commande. Lorsque vous cliquez sur celui-ci, le message « Bonjour
à tous ! » apparaît dans la zone de texte.

Création de l'interface
Les feuilles constituent l'élément essentiel intervenant dans la création de l'interface d'une application. Elles vous
permettent d'ajouter des fenêtres et des boîtes de dialogue, mais vous pouvez également les utiliser comme conteneurs
d'éléments qui ne sont pas visibles dans l'interface de l'application. Par exemple, votre application pourrait contenir une
feuille qui ferait office de conteneur pour des graphiques que vous envisagez d'afficher dans d'autres feuilles.
La première étape de l'élaboration d'une application Visual Basic consiste à créer les feuilles sur lesquelles sera fondée
l'interface de l'application. Vous dessinez ensuite sur les feuilles les objets qui composeront l'interface. Pour cette première
application, vous utiliserez deux contrôles de la Boîte à outils.
Bouton Contrôle
Zone de texte (TextBox)

Bouton de commande (CommandButton)

 Pour dessiner un contrôle à l'aide de la Boîte à outils


1 Cliquez sur l'outil correspondant au contrôle que vous souhaitez dessiner, à savoir un TextBox.
2 Déplacez le pointeur sur votre feuille. Il prend la forme d'une croix, comme illustré à la figure 2.3.

Ahmed ABOUABDELLAH 12
Figure 2.3 Dessin d'un contrôle TextBox à l'aide de la Boîte à outils

3 Positionnez le curseur en forme de croix à l'endroit où vous souhaitez placer le coin supérieur gauche du contrôle.
4 Faites glisser le curseur en forme de croix jusqu'à ce que le contrôle atteigne la taille voulue. ( Faire glisser signifie que
vous maintenez le bouton gauche de la souris enfoncé pendant que vous déplacez un objet à l'aide de la souris.)
5 Relâchez le bouton de la souris.
Le contrôle apparaît sur la feuille.

Il est également possible d'ajouter facilement un contrôle à une feuille en double-cliquant sur le bouton de ce contrôle au
sein de la Boîte à outils. Vous créez ainsi un contrôle qui possède une taille par défaut et qui se situe au centre de la feuille.
Il vous suffit ensuite de le déplacer jusqu'à l'endroit voulu.

Redimensionnement, déplacement et verrouillage des contrôles


Remarquez la présence de petites zones rectangulaires, appelées poignées de redimensionnement aux coins du contrôle. Ces
poignées vous seront utiles à l'étape suivante si vous souhaitez redimensionner le contrôle. Vous pouvez aussi utiliser la
souris, le clavier et les commandes des menus pour déplacer les contrôles, verrouiller et déverrouiller leur position, ou
encore les ajuster.

 Pour redimensionner un contrôle


1 Cliquez sur le contrôle que vous souhaitez redimensionner.
Les poignées de redimensionnement apparaissent sur le contrôle.
2 Positionnez le pointeur de la souris sur une des poignées, puis faites-la glisser jusqu'à ce que le contrôle atteigne la taille
souhaitée.
Les poignées des coins redimensionnent les contrôles horizontalement et verticalement tandis que les poignées latérales
ne les redimensionnent que dans un seul sens.
3 Relâchez le bouton de la souris.
– ou –
Redimensionnez le contrôle sélectionné à l'aide de la touche MAJ et des touches de direction.

Ahmed ABOUABDELLAH 13
 Pour déplacer un contrôle
 Faites glisser le contrôle jusqu'à son nouvel emplacement sur la feuille à l'aide dela souris.
– ou –
Utilisez la fenêtre Propriétés pour modifier les propriétés Top et Left.

Lorsqu'un contrôle est sélectionné, vous pouvez utiliser la touche CTRL avec les touches de direction pour déplacer le
contrôle d'une unité de grille à la fois. Si la grille est désactivée, le contrôle est déplacé d'un pixel à la fois.

 Pour verrouiller les positions de tous les contrôles


 Dans le menu Format, cliquez sur Verrouiller les contrôles.
– ou –
Cliquez sur le bouton Basculer les contrôles verrouillés de la barre d'outils Fenêtre de conception de feuille.

Vous verrouillez ainsi tous les contrôles de la feuille sur leur position en cours afin de ne pas risquer de les déplacer par
inadvertance une fois qu'ils occupent l'emplacement désiré. Seuls les contrôles de la feuille sélectionnée sont verrouillés.
Ceux des autres feuilles ne le sont pas. Comme il s'agit d'une commande à bascule, elle vous permet également de
déverrouiller les positions des contrôles.
 Pour ajuster la position des contrôles verrouillés
 Vous pouvez déplacer légèrement le contrôle actif en maintenant la touche CTRL enfoncée et en appuyant sur la touche de
direction appropriée.
– ou –
Vous pouvez modifier les propriétés Top et Left du contrôle dans la fenêtre Propriétés.

Vous disposez maintenant de l'interface nécessaire à l'application « Bonjour à tous ! », comme illustré à la figure 2.4.

Figure 2.4 L'interface de l'application « Bonjour à tous ! »

Définition des propriétés


L'étape suivante consiste à définir les propriétés des objets que vous avez créés. La fenêtre Propriétés (Figure 2.5) permet de
définir facilement les propriétés de tous les objets d'une feuille. Pour ouvrir cette fenêtre, cliquez sur la commande Fenêtre
Propriétés du menu Affichage, cliquez sur le bouton Fenêtre Propriétés de la barre d'outils, ou utilisez le menu contextuel du
contrôle.

Ahmed ABOUABDELLAH 14
Figure 2.5 La fenêtre Propriétés

La fenêtre Propriétés est constituée des éléments suivants :


 Zone Objet : affiche le nom de l'objet dont vous pouvez définir les propriétés. Cliquez sur la flèche située à droite de la
zone Objet de façon à afficher la liste des objets pour la feuille en cours.
 Onglets de Tri : choisissez entre une liste alphabétique des propriétés ou une vue hiérarchique divisée en catégories
logiques, notamment celles relatives à l'aspect, aux polices ou à la position.
 Liste Propriétés : la colonne de gauche affiche toutes les propriétés de l'objet sélectionné. Vous pouvez modifier et
afficher les valeurs dans la colonne de droite.

 Pour définir les propriétés à partir de la fenêtre Propriétés


1 Dans le menu Affichage, cliquez sur Fenêtre Propriétés, ou cliquez sur le bouton Fenêtre Propriétés de la barre
d'outils.
La fenêtre Propriétés affiche les valeurs de la feuille ou du contrôle sélectionné.
2 Dans la liste Propriétés, sélectionnez le nom d'une propriété.
3 Dans la colonne de droite, tapez ou sélectionnez la nouvelle valeur de la propriété.
Les propriétés énumérées possèdent une liste de valeurs prédéfinies. Vous pouvez afficher cette liste en cliquant sur la
flèche vers le bas située à droite de la zone Valeurs, à moins que vous préfériez faire défiler la liste en double-cliquant
sur un de ses éléments.

Pour l'exemple d'application « Bonjour à tous ! », vous devez modifier les valeurs de trois propriétés et utiliser les valeurs
par défaut de toutes les autres.
Objet Propriété Valeur
Feuille Caption Bonjour à tous !
Zone de texte Text (Vide)
Bouton de commande Caption OK

Définition de la propriété Icon


Dans Visual Basic, toutes les feuilles possèdent une icône générique par défaut qui apparaît lorsque vous réduisez la feuille.
Toutefois, il est probable que vous souhaitiez remplacer cette icône par une icône plus explicite quant à l'utilisation de la
feuille ou de votre application. Pour affecter une icône à une feuille, définissez sa propriété Icon. Vous pouvez utiliser des
icônes de 32 x 32 pixels, semblables à celles employées dans les versions 16 bits de Microsoft Windows et qui sont toujours
reconnues sous Windows 95 et Windows NT, ou encore opter pour des icônes de 16 x 16 pixels semblables à celles utilisés
dans Windows 95.

Écriture du code
C'est dans la fenêtre Code que vous écrivez le code Visual Basic de votre application. Le code est composé d'instructions du
langage, de constantes et de déclarations. La fenêtre Code vous permet d'afficher et de modifier rapidement n'importe quelle
partie du code de votre application.

Ahmed ABOUABDELLAH 15
 Pour ouvrir la fenêtre Code
 Double-cliquez sur la feuille ou le contrôle pour lequel vous souhaitez écrire du code.
– ou –
Dans la fenêtre Explorateur de projets, sélectionnez le nom d'une feuille ou d'un module, puis cliquez sur le bouton
Code.

La figure 2.6 illustre la fenêtre Code telle qu'elle apparaît lorsque vous double-cliquez sur le contrôle CommandButton,
ainsi que les événements de cette commande.

Figure 2.6 La fenêtre Code

Vous pouvez décider d'afficher individuellement ou simultanément les procédures dans la fenêtre Code.

 Pour afficher toutes les procédures dans la même fenêtre Code


1 Dans le menu Outils, cliquez sur Options.
2 Dans l'onglet Éditeur de la boîte de dialogue Options, activez la case à cocher située en regard de l'option Affichage
complet du module par défaut. La case à cocher située à gauche de l'option Séparation des procédures ajoute ou
supprime une ligne de séparation entre les procédures.
– ou –
Cliquez sur le bouton Affichage complet du module situé dans le coin inférieur gauche de la fenêtre Code.

 Pour afficher individuellement les procédures dans la fenêtre Code


1 Dans le menu Outils, cliquez sur Options.
2 Dans l'onglet Éditeur de la boîte de dialogue Options, désactivez la case à cocher située en regard de l'option Affichage
complet du module par défaut.
– ou –
Cliquez sur le bouton Affichage de procédure situé dans le coin inférieur gauche de la fenêtre Code.

La fenêtre Code est constituée des éléments suivants :


 Zone de liste Objet : affiche le nom de l'objet sélectionné. Cliquez sur la flèche située sur la droite de la zone de liste
pour afficher la liste de tous les objets associés à la feuille.
 Zone de liste Procédure : énumère les procédures ou événements d'un objet. Cette zone affiche le nom de la procédure
sélectionnée, en l'occurrence Click. Cliquez sur la flèche située à droite de la zone pour afficher toutes les procédures de
l'objet.

Ahmed ABOUABDELLAH 16
Création de procédures d'événement
Le code de votre application Visual Basic est divisé en blocs de petite taille appelés procédures. Les procédures
d'événement, notamment celles que vous avez créées ici, contiennent du code qui est exécuté au moment où survient un
événement (notamment lorsqu'un utilisateur clique sur un bouton). Une procédure d'événement d'un contrôle combine le
nom effectif du contrôle (spécifié dans la propriété Name), un trait de soulignement (_) et le nom de l'événement. Par
exemple, si vous souhaitez qu'une procédure d'événement soit invoquée lorsque l'utilisateur clique sur un bouton de
commande nommé Command1, utilisez la procédure Command1_Click.

 Pour créer une procédure d'événement


1 Dans la zone de liste Objet, sélectionnez le nom d'un objet dans la feuille active. (La feuille active n'est autre que la
feuille en cours.)
Pour cet exemple, cliquez sur le bouton de commande Command1.
2 Dans la zone de liste Procédure, sélectionnez le nom d'un événement de l'objet sélectionné.
Dans notre exemple, la procédure Click est déjà sélectionnée, car il s'agit de la procédure par défaut pour un bouton de
commande. Notez qu'un modèle de la procédure d'événement est à présent affiché dans la fenêtre Code.
3 Tapez le code suivant entre les instructions Sub et End Sub :
[Link] = "Bonjour à tous !"
La procédure d'événement devrait se présenter comme suit :
Private Sub Command1_Click ()
[Link] = "Bonjour à tous !"
End Sub
Vous remarquerez ici que le code modifie simplement la propriété Text du contrôle nommé Text1 en « Bonjour à tous ! ». La
syntaxe de cet exemple prend la forme [Link] dans laquelle Text1 est l'objet et Text la propriété. Cette syntaxe vous
permet de modifier les valeurs des propriétés de n'importe quelle feuille ou contrôle en fonction des événements qui
surviennent pendant l'exécution de votre application.
Pour plus d'informations sur la création d'autres types de procédures, reportez-vous à la section « Présentation des
procédures » du chapitre 5, « Éléments fondamentaux de programmation ».

Exécution de l'application
Pour exécuter l'application, cliquez sur Exécuter dans le menu Exécution, ou cliquez sur le bouton Exécuter de la barre
d'outils, ou encore appuyez sur F5. Cliquez sur le bouton de commande que vous avez créé sur la feuille et vous verrez
apparaître « Bonjour à tous ! » dans la zone de texte.

L'exemple d'application Firstapp


Outre les outils que vous avez utilisés dans cette première application, Visual Basic possède un large éventail d'outils
supplémentaires correspondant à de très nombreuses autres fonctionnalités de gestion et de personnalisation des
applications. L'examen des exemples d'application est un excellent moyen de familiarisation avec Visual Basic. L'exemple
suivant illustre la facilité avec laquelle il est possible de créer une application utile dans Visual Basic.
L'application Firstapp montre comment un contrôle Data et un contrôle DBGrid permettent d'afficher une table
d'informations provenant d'une base de données. Grâce à Visual Basic, il est possible d'accéder facilement aux informations
d'une base de données à partir d'une application. Le contrôle Data permet de naviguer dans le jeu d'enregistrements de la
base de données, de synchroniser l'affichage des enregistrements dans le contrôle grille avec leur position dans le jeu
d'enregistrements.
L'application est constituée d'un contrôle de données (Data), d'un contrôle grille dépendante Apex (DBGrid), d'un contrôle
zone de liste (ListBox) et de deux contrôles boutons de commande (CommandButton). La grille affiche une table
d'informations relatives à des ouvrages de programmation provenant de la base de données [Link]. Lorsque l'utilisateur
sélectionne un élément dans la grille en cliquant au sein de celle-ci ou en utilisant les boutons de navigation du contrôle de
données, le titre de l'ouvrage sélectionné s'affiche dans le contrôle de données. L'utilisateur peut aussi ajouter des éléments à
une « liste d'achats » dans le contrôle ListBox en double-cliquant sur la sélection en cours dans la grille.

Ahmed ABOUABDELLAH 17
Pour ajouter des éléments au contrôle ListBox, vous utilisez la méthode AddItem. (Une méthode est une fonction
Visual Basic qui agit sur un objet déterminé, dans ce cas précis, un objet ListBox.) La syntaxe employée pour spécifier une
méthode ([Link]) est semblable à la syntaxe de définition d'une propriété ([Link]). La méthode AddItem
vous permet d'ajouter, de manière dynamique, des éléments à la zone de liste, pendant l'exécution de l'application. En
revanche, la méthode Clear permet de supprimer tous les éléments de la zone de liste.
Pour plus d'informations sur les méthodes, reportez-vous à la section « Propriétés, méthodes et événements » du chapitre 3,
« Feuilles, contrôles et menus ».

Création d'un projet


La création de cette application commence en cliquant sur Nouveau projet dans le menu Fichier, puis en cliquant sur EXE
standard dans la boîte de dialogue Nouveau projet (c'est-à-dire la boîte de dialogue qui apparaît lorsque vous démarrez
Visual Basic). Visual Basic crée un nouveau projet et affiche une nouvelle feuille. Pour dessiner l'interface, vous utilisez un
contrôle Data, un contrôle DBGrid, un contrôle ListBox et deux contrôles CommandButton. Le contrôle DBGrid ne figure
pas dans la boîte à outils par défaut. Vous devez donc l'ajouter en procédant de la manière suivante :

 Pour ajouter un contrôle à la boîte à outils


1 Sélectionnez Composants dans le menu contextuel de la boîte à outils. (Vous pouvez cliquer le bouton droit de la souris
à l'intérieur de la fenêtre de la boîte à outils pour afficher le menu contextuel.)
La boîte de dialogue Composants apparaît.
2 Recherchez Apex Data Bound Grid (DBGrid) dans la zone de liste Contrôles et activez la case à cocher située sur sa
gauche.
3 Cliquez sur OK.
L'icône du contrôle DBGrid apparaît dans la boîte à outils.
Bouton Contrôle
Contrôle Data

Contrôle DBGrid

Contrôle ListBox

Contrôle CommandButton

Utilisez la boîte à outils pour dessiner un contrôle Data, un contrôle DBGrid, un contrôle ListBox et deux contrôles
CommandButton sur la feuille, comme illustré à la figure 2.7.

Ahmed ABOUABDELLAH 18
Figure 2.7 Feuille pour l'exemple d'application Firstapp

Définition des propriétés


Dans la fenêtre Propriétés, définissez les propriétés des objets de la manière indiquée dans le tableau suivant. Appliquez les
valeurs par défaut à toutes les autres propriétés.
Objet Propriété Valeur
Form Caption Bookstore
Data1 DatabaseNameRecordSource chemin \[Link] All Titles
DBGrid1 DataSource Data1
Command1 Caption Clear
Command2 Caption Exit

La propriété DatabaseName du contrôle Data doit inclure le chemin réel de la base de données. Par défaut, la base de données
[Link] est installée dans le même dossier que Visual Basic. Lorsque vous sélectionnez la propriété DatabaseName dans la
fenêtre Propriétés, vous pouvez cliquer sur le bouton situé à droite de la propriété afin d'afficher la boîte de dialogue Nom de
la base de données à l'aide de laquelle vous rechercherez le fichier. Une fois la propriété DatabaseName définie, la propriété
RecordSource de la fenêtre Propriétés contient la liste des tables ou des jeux d'enregistrements de la base de données
sélectionnée. En affectant la valeur Data1 à la propriété DataSource du contrôle DBGrid, vous liez automatiquement la grille
au contrôle Data.

Écriture du code d'événement


La totalité du code de l'application est contenue dans les procédures d'événement Command1_Click, Command2_Click,
Data1_Reposition et DBGrid1_DblClick. Double-cliquez sur la feuille ou le contrôle pour afficher la fenêtre Code, puis
tapez le code de chacune des procédures d'événement.
Ajoutez le code suivant à la procédure d'événement Command1_Click pour effacer la zone de liste lorsque l'utilisateur
clique sur le bouton :
Private Sub Command1_Click ()
' Efface la zone de liste.
[Link]
End Sub
Dans l'instruction ci-dessus, vous invoquez la méthode Clear de la zone de liste List1. Cette méthode supprime le contenu
de la zone de liste.
Ajoutez le code suivant à la procédure d'événement Command2_Click pour décharger la feuille de la mémoire et mettre fin
à l'application :
Private Sub Command2_Click ()
Unload Form1

Ahmed ABOUABDELLAH 19
' Met fin à l'application.
End
End Sub
Dans la procédure ci-dessus, la première instruction invoque l'événement Unload de la feuille. Si vous deviez exécuter une
fonction au moment de la fermeture, notamment l'enregistrement d'un fichier, vous pourriez placer ce code dans la
procédure d'événement Unload de la feuille. La deuxième instruction appelle la fonction End, qui met fin à l'application.
Ajoutez le code suivant à la procédure d'événement Data1_Reposition de façon à mettre à jour la légende chaque fois qu'un
enregistrement est sélectionné :
Private Sub Data1_Reposition ()
[Link] = [Link]("Title")
End Sub
Dans l'instruction ci-dessus, vous affectez la valeur de droite (le contenu du champ Title de l'objet Recordset du contrôle
Data) à la propriété de gauche (la propriété Caption de l'objet contrôle Data).
Ajoutez le code suivant à la procédure d'événement DBGrid_DblClick pour ajouter un élément à la zone de liste lorsque
l'utilisateur double-clique sur une ligne sélectionnée :
Private Sub DBGrid1_DblClick ()
[Link] [Link]("Title")
End Sub
Dans l'instruction ci-dessus, vous appelez la méthode AddItem de la zone de liste (List1). Le texte à ajouter à la zone de
liste est contenu dans l'argument de la méthode, à savoir la valeur du champ Title dans le jeu d'enregistrements du contrôle
Data. Le passage d'une valeur à un argument équivaut à affecter une valeur à une propriété. Contrairement à l'instruction
d'affectation, le signe égal n'est pas obligatoire.

Enregistrement d'un projet


Quand vous avez terminé de travailler sur l'application, cliquez sur Enregistrer le projet dans le menu Fichier. Visual Basic
vous demande alors d'enregistrer séparément la feuille, puis le projet. Vous pouvez éventuellement nommer le projet « Liste
d'achats à la librairie ». Windows 95 et Windows NT acceptent les noms de fichiers de 255 caractères maximum. Ceux-ci
peuvent même comporter des espaces. Les versions antérieures de Microsoft Windows limitent les noms de fichiers à huit
caractères suivis d'une extension de trois caractères.

Amélioration de votre application


Vous venez de terminer votre première application Visual Basic qui exécute une fonction simple, mais utile. Vous pouvez
vous en inspirer pour ajouter une fonctionnalité similaire à vos applications, en remplaçant simplement [Link] par vos
propres données. Bien entendu, pour que cette application soit réellement utile, vous souhaiterez lui ajouter la possibilité
d'enregistrer ou d'imprimer le contenu de la zone de liste, d'ajouter des informations telles que le prix et la disponibilité, voire
même de recueillir des renseignements relatifs au mode de paiement ainsi que de passer commande via Internet. Toutes ces
possibilités et bien d'autres encore sont illustrées dans les exemples que vous rencontrerez au fil de la lecture de ce Guide de
l'utilisateur.

Ahmed ABOUABDELLAH 20
Chapitre
3

Feuilles , Contrôles et Menus

La première étape de création d'une application à l'aide de Visual Basic consiste à créer l'interface, c'est-à-dire la partie
visuelle de l'application avec laquelle l'utilisateur dialogue. Les feuilles et les contrôles sont les blocs fonctionnels de base
qui ermettent de créer l'interface ; ce sont les objets que vous utilisez pour construire votre application.
Les feuilles sont des objets qui possèdent des propriétés définissant leur apparence, des méthodes définissant leur
comportement et des événements définissant l'interaction avec l'utilisateur. En définissant les propriétés d'une feuille et en
écrivant le code Visual Basic pour répondre à ses événements, vous personnalisez l'objet en fonction des exigences de votre
application.
Les contrôles sont des objets qui sont inclus dans des objets feuille. Chaque type de contrôle possède son propre jeu de
propriétés, de méthodes et d'événements qui permettent de l'adapter à un usage particulier. Parmi les contrôles que vous
pouvez utiliser dans vos applications, certains conviennent mieux pour saisir ou afficher du texte. D'autres permettent
d'accéder à d'autres applications et de traiter les données comme si l'application à distance faisait partie intégrante de votre
code.
Ce chapitre présente les principes de base des feuilles et des contrôles avec leurs propriétés, méthodes et événements
respectifs. Il décrit un grand nombre de contrôles standard ainsi que les éléments propres aux feuilles, tels que les menus et
les boîtes de dialogue.

Sommaire
 Propriétés, méthodes et événements
 Création d'une feuille
 Exécution d'une action par un clic sur un bouton
 Contrôles d'affichage et de saisie de texte
 Contrôles offrant des choix à l'utilisateur
 Contrôles d'affichage d'images et de graphiques
 Autres contrôles
 Principe du focus
 Définition de l'ordre des tabulations
 Éléments de base des menus
 Demande d'intervention de l'utilisateur par des boîtes de dialogue
Propriétés, méthodes et événements
Les feuilles et les contrôles de Visual Basic sont des objets qui possèdent leurs propres propriétés, méthodes et événements.
Les propriétés sont comparables à des attributs d'objet, les méthodes à des actions, et les événements à des réponses.
Un objet ordinaire, le ballon gonflé à l'hélium d'un enfant par exemple, possède aussi des propriétés, des méthodes et des
événements. Les propriétés d'un ballon incluent des attributs visibles tels que sa hauteur, son diamètre et sa couleur. D'autres
propriétés décrivent son état (gonflé ou dégonflé) ou des attributs qui ne sont pas visibles, comme son âge. Par définition,
tous les ballons ont ces propriétés, mais les valeurs de celles-ci peuvent varier d'un ballon à l'autre.
Un ballon peut aussi exécuter des méthodes ou actions spécifiques. Par exemple, il peut inclure une méthode de gonflement
(action de le remplir à l'hélium), une méthode de dégonflement (action d'évacuer son contenu) et une méthode d'élévation
(si vous le lâchez). Tous les ballons peuvent être pourvus de ces méthodes.

Ahmed ABOUABDELLAH 21
Enfin, les ballons ont des réponses prédéfinies par rapport à des événements externes. Par exemple, un ballon peut réagir à
l'événement crever en se dégonflant, ou à l'événement lâcher en s'élevant dans l'air.

Figure 3.1 Les objets incluent des propriétés, répondent à des événements et exécutent des méthodes

Si vous deviez programmer un ballon, la syntaxe du code Visual Basic pourrait être la suivante. Définition des propriétés du
ballon :
[Link] = Red
[Link] = 10
[Link] = True
Notez la syntaxe du code : l'objet (Ballon) suivi de la propriété (.Color) et de l'attribution de la valeur (Red). Vous pourriez
changer la couleur du ballon en répétant cette instruction et en attribuant une autre valeur. Vous pouvez aussi définir les
propriétés dans la fenêtre Propriétés pendant que vous créez votre application.
Les méthodes du ballon pourraient être appelées ainsi :
[Link]
[Link]
[Link] 5
Cette syntaxe est similaire à celle des propriétés : l'objet (nom) est suivi de la méthode (verbe). La troisième ligne inclut un
autre élément, l'argument, qui indique la hauteur à laquelle s'élève le ballon. Certaines méthodes peuvent comprendre un ou
plusieurs arguments qui décrivent l'action à exécuter.
Le ballon pourrait répondre à un événement de la façon suivante :
Sub Ballon_Puncture()
[Link]
[Link] "Pan"
[Link] = False
[Link] = 1
End Sub
Dans cet exemple, le code décrit le comportement du ballon chaque fois que l'événement Puncture (crever) se produit :
appel de la méthode Deflate (dégonfler) puis de la méthode MakeNoise (bruit) avec l'argument « Pan » (type du bruit).
Comme le ballon est dégonflé, la valeur de la propriété Inflated (gonflé) est False, et la propriété Diameter prend une
nouvelle valeur.
Si vous ne pouvez pas réellement programmer un ballon, vous pouvez, en revanche, programmer une feuille ou un contrôle
de Visual Basic. En tant que programmeur, vous pouvez décider des propriétés à modifier, des méthodes à appeler ou des
réponses à fournir aux événements, afin de définir l'aspect et le comportement d'un objet.
Création d'une feuille
Les objets feuille constituent les blocs fonctionnels de base d'une application Visual Basic, c'est-à-dire les fenêtres qui
permettent à l'utilisateur de dialoguer avec l'application pendant qu'il l'exécute. Les feuilles ont leurs propres propriétés,
événements et méthodes à l'aide desquels vous pouvez contrôler leur aspect et leur comportement.

Ahmed ABOUABDELLAH 22
Figure 3.2 Les feuilles et les contrôles ont leurs propres propriétés, événements et méthodes

La première étape de création d'une feuille consiste à définir ses propriétés. Vous pouvez les définir dans la fenêtre
Propriétés lors de la création d'une feuille, ou lors de l'exécution de l'application en écrivant du code.
Note Vous utilisez des feuilles et des contrôles, définissez leurs propriétés et écrivez le code approprié à leurs événements, et ce à un
moment quelconque de la création d'une application dans l'environnement Visual Basic. L'exécution est le moment au cours duquel vous
exécutez l'application et dialoguez avec elle, comme le fait l'utilisateur.

Définition des propriétés d'une feuille


Un grand nombre de propriétés affectent l'aspect physique d'une feuille. La propriété Caption définit le texte figurant dans
la barre de titre de la feuille et la propriété Icon l'icône qui s'affiche lorsque vous réduisez la feuille. Les propriétés
MaxButton et MinButton déterminent quant à elles si la feuille peut être agrandie ou réduite. Si vous modifiez la propriété
BorderStyle, vous pouvez contrôler son redimensionnement.
Les propriétés Height et Width déterminent la taille initiale d'une feuille et les propriétés Left et Top sa position par rapport
à l'angle supérieur gauche de l'écran. Vous pouvez définir la propriété WindowState pour démarrer la feuille sous forme
agrandie, réduite ou normale.
La propriété Name définit le nom qui désigne la feuille dans le code. Lorsque vous ajoutez pour la première fois une feuille
à un projet, son nom par défaut est Form1, Form2, etc. Il est conseillé de définir la propriété Name en choisissant un nom
plus significatif, par exemple « frmEntry » pour une feuille d'entrée de commandes.
La meilleure façon de vous familiariser avec les nombreuses propriétés d'une feuille est de vous exercer à les utiliser.
Modifiez quelques propriétés d'une feuille dans la fenêtre Propriétés (figure 3.3), puis exécutez l'application pour voir le
résultat. Pour obtenir des informations complémentaires sur une propriété, sélectionnez-la et appuyez sur F1 pour afficher
l'aide contextuelle.

Figure 3.3 Fenêtre Propriétés

Événements et méthodes d'une feuille

Ahmed ABOUABDELLAH 23
En tant qu'objets, les feuilles peuvent exécuter des méthodes et répondre à des événements.
L'événement Resize se déclenche chaque fois qu'une feuille est redimensionnée par l'utilisateur ou par le code. Vous pouvez
ainsi exécuter des actions telles que déplacer ou redimensionner les contrôles de la feuille, lorsque sa taille a été modifiée.
L'événement Activate se produit chaque fois qu'une feuille devient active et l'événement Deactivate se produit lorsqu'une
autre application ou une autre feuille deviennent actives. Ces événements s'avèrent particulièrement utiles pour initialiser ou
mettre fin au comportement d'une feuille. Par exemple, vous pouvez écrire du code dans l'événement Activate pour mettre
en surbrillance le texte d'un contrôle TextBox, et enregistrer dans l'événement Deactivate les modifications apportées à un
fichier ou à une base de données.
Pour rendre une feuille visible, vous pouvez appeler la méthode Show :
[Link]

L'appel de la méthode Show produit le même effet qu'attribuer la valeur True à la propriété Visible d'une feuille.
Bon nombre de méthodes de feuille impliquent du texte ou des graphiques. Les méthodes Print, Line, Circle et Refresh
permettent d'imprimer ou de dessiner directement dans la feuille. Pour plus d'informations sur ces méthodes, reportez-vous
au chapitre 12, « Texte et graphiques ».
Pour plus d'informations sur les feuilles, reportez-vous à la section « Informations complémentaires sur les feuilles » du
chapitre 6, « Création d'une interface utilisateur ».

Exécution d'une action par un clic sur un bouton


Un clic sur un bouton est le moyen le plus rapide pour dialoguer avec une application. Vous pouvez utiliser le contrôle
CommandButton de Visual Basic, ou créer votre propre « bouton » à l'aide du contrôle Image incluant un graphique, par
exemple
une icône.

Utilisation des boutons de commande


La plupart des applications Visual Basic comporte des boutons de commande sur lesquels il suffit de cliquer pour exécuter
des actions. Lorsque l'utilisateur choisit un bouton, non seulement ce dernier exécute l'action requise, mais il se comporte en
outre comme s'il avait été enfoncé puis relâché. Chaque fois que l'utilisateur clique sur un bouton, il appelle la procédure
d'événement Click. Vous devez donc placer le code dans cette procédure d'événement pour exécuter l'action choisie.
Pour choisir un bouton de commande au moment de l'exécution, procédez de l'une des façons suivantes :
 Cliquez sur le bouton avec la souris.
 Placez le focus sur le bouton à l'aide de la touche TAB, puis choisissez le bouton en appuyant sur ESPACE ou ENTRÉE
(reportez-vous à la section « Principe du focus » plus loin dans ce chapitre).
 Appuyez sur la touche d'accès rapide ( ALT+lettre soulignée) du bouton de commande.
 Dans le code, attribuez la valeur True à la propriété Value du bouton de commande :
[Link] = True
 Dans le code, appelez l'événement Click du bouton de commande :
cmdClose_Click
 Si le bouton de commande est le bouton de commande par défaut d'une feuille, le fait d'appuyer sur ENTRÉE permet de
choisir le bouton, même si le focus se trouve sur un contrôle autre que le bouton de commande. Au moment de la
création, vous spécifiez un bouton de commande par défaut en attribuant la valeur True à la propriété Default du bouton.
 Si le bouton de commande est, par défaut, le bouton Annuler d'une feuille, le fait d'appuyer sur ÉCHAP permet de choisir
le bouton, même si le focus se trouve sur un autre contrôle. Au moment de la création, vous spécifiez un bouton Annuler
par défaut en attribuant la valeur True à la propriété Cancel de ce bouton.

Toutes ces actions provoquent l'appel de la procédure d'événement Click par Visual Basic.

Ahmed ABOUABDELLAH 24
Application Boutons de test
Utilisez la propriété Caption pour afficher le texte du bouton indiquant à l'utilisateur la fonction de ce bouton. Comme le
montre la figure 3.4, l'exemple Boutons de test extrait de l'exemple d'application Controls contient un bouton dont la
propriété Caption a pour valeur « Change Signal » (une version de travail de cet exemple est disponible dans [Link] de
l'exemple d'application [Link]).
Notez que la lettre « S » (signalée par un trait de soulignement) est la touche d'accès rapide de ce bouton. Si vous insérez
une perluète (&) dans le texte de la propriété Caption, le caractère venant après ce symbole devient la touche d'accès rapide
du bouton (par exemple, Change &Signal).

Figure 3.4 Bouton de commande comportant une légende

Lorsque l'utilisateur clique sur le bouton de commande, le code inclus dans la procédure d'événement Click du bouton de
commande est exécuté. Dans cet exemple, une icône de signalisation différente s'affiche chaque fois que l'utilisateur clique
sur le bouton.
Pour plus d'informations sur les autres propriétés du contrôle CommandButton, reportez-vous au chapitre 7, « Utilisation
des contrôles standard de Visual Basic ».

Contrôles d'affichage et de saisie de texte


Les contrôles étiquette (Label) et zone de texte (TextBox) permettent d'afficher ou de saisir du texte. Utilisez des contrôles
Label si vous voulez que votre application affiche du texte dans une feuille, et des contrôles TextBox si vous voulez que
l'utilisateur saisisse du texte. Les premiers contiennent du texte en lecture seule, alors que les seconds contiennent du texte
qui peut être modifié.
Pour fournir cette fonction Utilisez le contrôle
L'utilisateur peut modifier le texte, par exemple, TextBox
une zone d'entrée de commande ou une zone de
mot de passe.
Le texte est en lecture seule pour identifier, Label
par exemple, un champ d'une feuille ou afficher
des instructions destinées à l'utilisateur.

Utilisation des contrôles Label pour afficher du texte


Les contrôles Label affichent un texte que l'utilisateur ne peut pas directement modifier. Vous pouvez les utiliser pour
identifier des contrôles (TextBox ou les barres de défilement, par exemple) qui n'incluent pas la propriété Caption. Le texte
affiché dans un contrôle Label est contrôlé par la propriété Caption qui peut être définie au moment de la création dans la
fenêtre Propriétés, ou attribuée au code au moment de l'exécution.
Par défaut, le libellé est la seule partie visible du contrôle Label. Cependant, si vous attribuez la valeur 1 à la propriété
BorderStyle (ce que vous pouvez faire au moment de la création), le contrôle s'affiche avec une bordure, ce qui le rend

Ahmed ABOUABDELLAH 25
semblable à un contrôle TextBox. Vous pouvez aussi modifier son apparence à l'aide des propriétés BackColor, BackStyle,
ForeColor et Font.

Modification de la taille d'un contrôle Label selon son contenu


Vous pouvez spécifier dans la fenêtre Propriétés des libellés de contrôles Label qui s'affichent sur une seule ligne au
moment de la création. Mais que se passe-t-il si le libellé est plus long ou si vous le modifiez au moment de l'exécution ?
Les contrôles Label incluent deux propriétés, AutoSize et WordWrap, qui permettent d'adapter les contrôles en fonction de
la longueur des libellés.
La propriété AutoSize détermine si un contrôle doit être automatiquement redimensionné pour l'adapter à son contenu. Si la
valeur de la propriété est True, le contrôle Label change horizontalement pour s'adapter à son contenu, comme l'illustre la
figure 3.5.

Figure 3.5 Exemple de la propriété AutoSize

La propriété WordWrap permet de modifier le contrôle Label verticalement pour l'adapter à son contenu, sans modifier sa
largeur (figure 3.6). Une version de travail de cet exemple est disponible dans [Link] de l'exemple d'application
[Link].

Figure 3.6 Exemple de la propriété WordWrap

Ahmed ABOUABDELLAH 26
Note Si vous exécutez l'exemple AutoSize de l'application [Link], vous constaterez que les deux cases à cocher doivent être
sélectionnées pour que l'exemple WordWrap puisse fonctionner. En effet, AutoSize doit avoir la valeur True pour que la propriété
WordWrap du contrôle Label soit active. La largeur de ce contrôle n'est agrandie que si la largeur d'un mot dépasse la largeur en cours du
contrôle.

Pour plus d'informations sur les propriétés du contrôle Label, reportez-vous au chapitre 7, « Utilisation des contrôles
standard de Visual Basic ».

Utilisation des contrôles TextBox


Les contrôles zone de texte (TextBox) sont des contrôles très souples qui permettent à l'utilisateur d'entrer ou d'afficher du
texte. Ils ne doivent pas être utilisés pour afficher du texte non modifiable, sauf dans le cas où la valeur de la propriété
Locked est True.
Le texte affiché dans un contrôle TextBox est contrôlé par la propriété Text qui peut être définie de trois façons différentes :
au moment de la création dans la fenêtre Propriétés, au moment de l'exécution en la plaçant dans le code, ou par une entrée
de l'utilisateur lors de l'exécution. Le contenu en cours d'un contrôle TextBox peut être récupéré au moment de l'exécution
par la lecture de la propriété Text.

Contrôle TextBox multiligne et retour automatique à la ligne


Par défaut, un contrôle TextBox affiche une seule ligne de texte et n'affiche pas de barre de défilement. Si le texte est plus
long que l'espace disponible, seule une partie du texte sera visible. Vous pouvez modifier son aspect et son comportement en
définissant deux propriétés, MultiLine et ScrollBars, qui ne sont disponibles qu'au moment de la création.
Note Ne confondez pas la propriété ScrollBars avec les contrôles ScrollBar qui ne sont pas liés aux contrôles TextBox et incluent leur
propre jeu de propriétés.

Si la valeur de MultiLine est True, un contrôle TextBox peut accepter ou afficher plusieurs lignes de texte au moment de
l'exécution. Un contrôle TextBox multiligne gère automatiquement le retour à la ligne tant qu'il n'existe pas de barre de
défilement horizontale. Par défaut, la valeur de la propriété ScrollBars est 0-Aucune. Le retour automatique à la ligne évite
à l'utilisateur d'insérer un saut de ligne à la fin de chaque ligne. Lorsqu'une ligne de texte dépasse l'espace d'affichage
disponible, le contrôle TextBox renvoie le texte à la ligne suivante.
Vous ne pouvez pas entrer de sauts de ligne dans la fenêtre Propriétés au moment de la création. Dans une procédure, créez
un saut de ligne en insérant un retour chariot suivi d'un saut de ligne (caractères ANSI 13 et 10). Vous pouvez aussi utiliser
la constante vbCrLf pour insérer cette combinaison retour chariot/saut de ligne. Par exemple, le procédure d'événement
suivante place deux lignes de texte dans un contrôle TextBox multiligne (Text1), lorsque la feuille est chargée en mémoire :
Sub Form_Load ()
[Link] = "Il y a deux lignes" & vbCrLf _
& "dans cette zone de texte"
End Sub

Utilisation du texte dans un contrôle TextBox


Dans un contrôle TextBox, vous pouvez contrôler le point d'insertion et la sélection à l'aide des propriétés SelStart,
SelLength et SelText. Ces propriétés ne sont disponibles qu'au moment de l'exécution.
Si un contrôle TextBox reçoit d'abord le focus, le point d'insertion ou la position du curseur par défaut se trouve à gauche du
texte existant. L'utilisateur peut le déplacer à l'aide du clavier ou de la souris. Si ce contrôle perd puis reprend le focus, le
point d'insertion se trouvera à l'endroit où l'utilisateur l'aura placé la dernière fois.
Dans certains cas, ce comportement risque de troubler l'utilisateur. Par exemple, dans une application de traitement de texte,
il peut s'attendre à ce que de nouveaux caractères apparaissent à la suite du texte existant. Dans une application d'entrée de
données, il peut s'attendre à ce que les nouvelles données qu'il saisit remplacent le texte existant. Les applications SelStart
et SelLength permettent de modifier ce comportement en fonction de sa finalité.
La propriété SelStart est un nombre qui indique la position du point d'insertion dans la chaîne de texte, 0 étant la position la
plus à gauche. Si la valeur de cette propriété est égale ou supérieure au nombre de caractères de la zone de texte, le point

Ahmed ABOUABDELLAH 27
d'insertion sera placé après le dernier caractère, comme l'illustre la figure 3.7. Une version de travail de cet exemple est
disponible dans [Link] de l'exemple d'application [Link].

Figure 3.7 Exemple de point d'insertion

La propriété SelLength est une valeur numérique qui définit la largeur du point d'insertion. Si la valeur de cette propriété est
supérieure à 0, le nombre de caractères égal à cette valeur doit être sélectionné et mis en surbrillance, à partir de la position
en cours du point d'insertion. La figure 3.8 illustre le comportement de la sélection.

Figure 3.8 Exemple de sélection

Si l'utilisateur commence à saisir du texte alors qu'un bloc de texte est sélectionné, celui-ci est remplacé par le nouveau
texte. Dans certains cas, vous pouvez décider de remplacer une sélection de texte par un nouveau texte à l'aide de la
commande Coller. La propriété SelText est une chaîne de texte que vous pouvez attribuer au moment de l'exécution pour
remplacer la sélection en cours. Si aucun texte n'est sélectionné, SelText insère son texte à la position en cours du point
d'insertion.
Pour plus d'informations sur les propriétés du contrôle TextBox, reportez-vous au chapitre 7, « Utilisation des contrôles
standard de Visual Basic ».

Ahmed ABOUABDELLAH 28
Contrôles offrant des choix à l'utilisateur
La plupart des applications proposent des choix à l'utilisateur, qui vont de la simple option oui/non à la sélection d'une liste
contenant des centaines de possibilités. Visual Basic inclut plusieurs contrôles standard qui s'avèrent très utiles pour
présenter des choix. Le tableau suivant récapitule ces contrôles et leurs utilisations respectives.
Pour fournir cette fonction Utilisez ce contrôle
Jeu de choix restreint à partir duquel CheckBox
l'utilisateur peut choisir une ou
plusieurs options.
Jeu de choix restreint à partir duquel OptionButton (utilisez des contrôles Frame si
l'utilisateur ne peut sélectionner qu'une d'autres groupes sont nécessaires)
seule option.
Liste de choix déroulante dans laquelle ListBox
l'utilisateur effectue sa sélection.
Liste de choix déroulante avec une zone ComboBox
de texte modifiable. L'utilisateur peut
effectuer une sélection dans la liste ou
taper un choix dans la zone d'édition.

Ahmed ABOUABDELLAH 29
Sélection d'options individuelles à l'aide des contrôles CheckBox
Un contrôle case à cocher (CheckBox) indique si une condition particulière est active ou non. Utilisez ces contrôles dans
une application pour proposer à l'utilisateur des options vrai/faux ou oui/non. Comme ils fonctionnent indépendamment les
uns des autres, l'utilisateur peut en sélectionner plusieurs en même temps. Par exemple, la figure 3.9 montre qu'il est
possible de cocher à la fois les cases Gras et Italique.

Figure 3.9 Contrôle CheckBox

Application Cases à cocher


L'exemple Case à cocher utilise un contrôle CheckBox pour déterminer si le texte doit s'afficher en caractères normaux ou
italiques. Une version de travail de cet exemple est disponible dans [Link] de l'exemple d'application [Link].
L'application comprend des contrôles TextBox, Label, CommandButton et deux contrôles CheckBox, comme l'illustre la
figure 3.10.
Figure 3.10 Exemple de contrôle CheckBox

Le tableau suivant donne la liste des propriétés et de leurs valeurs pour les objets de l'application.
Objet Propriété Valeur
Form Name frmCheck
Caption Exemple case à cocher
TextBox Name txtDisplay
Text Exemple de texte
Premier CheckBox Name chkBold
Caption &Gras
Second CheckBox Name chkItalic
Caption &Italique
CommandButton Name cmdClose
Caption &Fermer

Ahmed ABOUABDELLAH 30
Lorsque vous cochez la case Gras ou Italique, la propriété Value du contrôle CheckBox prend la valeur 1 ; si la case n'est
pas cochée, la propriété prend la valeur 0. Comme la valeur par défaut est 0, la case n'est pas cochée lorsqu'elle apparaît la
première fois, sauf si vous modifiez la propriété Value. Vous pouvez utiliser les constantes vbChecked et vbUnchecked pour
représenter les valeurs 1 et 0.

Événements de l'application Case à cocher


L'événement Click d'une case à cocher se produit dès que vous cliquez sur la case. Cette procédure d'événement permet de
tester si la case à cocher à été sélectionnée (c'est-à-dire si la propriété Value = vbChecked). Dans l'affirmative, le texte est
converti en gras ou en italique par les propriétés Bold ou Italic de l'objet Font renvoyé par la propriété Font du contrôle
TextBox.
Private Sub chkBold_Click ()
If [Link] = vbChecked Then ' Si cochée.
[Link] = True
Else ' Si non cochée.
[Link] = False
End If
End Sub

Private Sub chkItalic_Click ()


If [Link] = vbChecked Then ' Si cochée.
[Link] = True
Else ' Si non cochée.
[Link] = False
End If
End Sub
Regroupement d'options à l'aide des contrôles OptionButton
Les contrôles boutons d'option (OptionButton) proposent un jeu de deux ou plusieurs choix à l'utilisateur. Cependant,
contrairement aux contrôles CheckBox, ils doivent toujours fonctionner en tant que partie intégrante d'un groupe. Autrement
dit, si l'utilisateur sélectionne un bouton d'option, tous les autres boutons du groupe sont immédiatement désactivés. Lorsque
vous définissez un groupe de boutons d'option, vous indiquez à l'utilisateur qu'il dispose de plusieurs choix mais qu'il ne
peut en sélectionner qu'un seul.
Par exemple, dans le groupe de boutons d'option de la figure 3.11, l'utilisateur ne peut sélectionner qu'un des trois boutons.

Figure 3.11 Sélection d'un contrôle OptionButton

Création de groupes de contrôles OptionButton


Tous les contrôles OptionButton placés directement dans une feuille (et non dans un contrôle Frame ou un contrôle
PictureBox) constituent un groupe. Si vous voulez créer d'autres groupes de boutons d'option, vous devez inclure certains de
ces boutons dans des contrôles Frame ou PictureBox.
Tous les contrôles OptionButton inclus dans un contrôle Frame forment un groupe séparé, ainsi que tous ceux inclus dans un
contrôle PictureBox. Lorsque vous créez un groupe séparé de cette manière, vous devez toujours dessiner le contrôle Frame
ou le contrôle PictureBox en premier, puis placer les contrôles OptionButton au-dessus. La figure 3.12 représente une feuille
avec deux groupes de contrôles OptionButton.

Ahmed ABOUABDELLAH 31
Figure 3.12 Groupes de contrôles OptionButton

Lorsque vous dessinez des contrôles OptionButton dans un contrôle Frame, l'utilisateur ne peut sélectionner qu'un contrôle
OptionButton du groupe.

 Pour regrouper des contrôles dans un contrôle Frame


1 Sélectionnez le contrôle Frame dans la boîte à outils et tracez un cadre dans la feuille.
2 Sélectionnez le contrôle OptionButton dans la barre d'outils et dessinez le contrôle à l'intérieur du contrôle Frame.
3 Répétez l'étape 2 pour chaque contrôle OptionButton à ajouter dans le contrôle Frame.

Si vous dessinez d'abord le contrôle Frame puis chaque contrôle à l'intérieur du contrôle Frame, vous pouvez déplacer
ensemble le contrôle Frame et les contrôles. Si vous tentez d'inclure des contrôles existants dans un contrôle Frame, vous ne
pourrez pas déplacer les contrôles et le contrôle Frame en même temps.
Note Si vous voulez regrouper des contrôles existants dans un contrôle Frame, vous devez tous les sélectionner, puis les couper et les
coller dans un contrôle Frame ou un contrôle PictureBox.

Conteneurs de contrôles
Alors que les contrôles ne sont pas liés aux objets, une certaine relation parent/enfant existe entre les feuilles et les
contrôles. La figure 3.12 illustre la façon dont les contrôles OptionButton peuvent être inclus dans une feuille ou un contrôle
Frame.
Pour comprendre le concept des conteneurs, partez du principe que tous les contrôles sont les enfants d'une feuille dans
laquelle ils sont dessinés. En fait, la plupart des contrôles gèrent la propriété Parent en lecture seule, qui renvoie à la feuille
dans laquelle un contrôle est inclus. La relation enfant d'un contrôle influe sur le placement de celui-ci dans la feuille
parent. Les propriétés Left et Top d'un contrôle sont relatives à la feuille parent, et les contrôles ne peuvent être déplacés en
dehors des limites du parent. Si vous déplacez un conteneur, vous déplacez également les contrôles ; la position de ces
contrôles, relative aux propriétés Left et Top du conteneur, ne change pas car ils se déplacent avec le conteneur.

Sélection ou désactivation des contrôles OptionButton


Pour sélectionner un bouton d'option, vous pouvez :
 Cliquer dessus à l'aide de la souris, au moment de l'exécution.
 Tabuler jusqu'au groupe de contrôles OptionButton et sélectionner un contrôle dans le groupe à l'aide des touches de
direction.

Ahmed ABOUABDELLAH 32
 Attribuer la valeur True à la propriété Value dans le code :
[Link] = True
 Utiliser une touche de raccourci indiquée dans le libellé d'une étiquette.

Pour définir un bouton par défaut dans un groupe de boutons d'option, attribuez la valeur True à sa propriété Value au
moment de la création. Il restera sélectionné jusqu'à ce qu'un utilisateur sélectionne un autre bouton ou que le code soit
modifié.
Pour désactiver un bouton d'option, attribuez la valeur False à la propriété Enabled. Lors de l'exécution du programme, ce
bouton apparaîtra en grisé pour indiquer qu'il n'est pas disponible.

Application Boutons d'options


La feuille illustrée à la figure 3.13 utilise des boutons d'option pour déterminer le type de processeur et le système
d'exploitation d'un ordinateur fictif. Lorsque l'utilisateur sélectionne un bouton d'option dans un des groupes, le libellé de
l'étiquette change pour refléter les choix en cours. Une version de travail de cet exemple est disponible dans [Link] de
l'exemple d'application [Link].

Figure 3.13 Exemple de bouton d'option

Le tableau suivant donne la liste des propriétés et de leurs valeurs pour les objets de l'application.
Objet Propriété Valeur
Label Name lblDisplay
Caption (Vide)
CommandButton Name cmdClose
Caption &Fermer
Premier OptionButton Name opt486
Caption &486
Deuxième OptionButton Name opt586
Caption &Pentium
Value True
Troisième OptionButton Name opt686
Caption &Pentium Pro
Frame Name fraSystem
Caption &Système d'exploitation
Quatrième OptionButton Name optWin95
Caption Windows 95

Ahmed ABOUABDELLAH 33
Cinquième OptionButton Name optWinNT
Caption Windows NT
Value True

Événements de l'application Options


L'application Options répond aux événements de la façon suivante :
 Les événements Click des trois premiers boutons d'option affectent une description correspondante à une variable de
chaîne au niveau feuille, strComputer.
 Les événements Click des deux derniers boutons d'option affectent une description correspondante à une deuxième
variable au niveau feuille, strSystem.

La clé de cette approche réside dans l'utilisation des deux variables au niveau feuille, strComputer et strSystem. Elles
contiennent différentes valeurs de chaîne qui dépendent des derniers boutons d'option sélectionnés.
Chaque fois qu'un nouveau bouton d'option est sélectionné, le code de son événement Click met à jour la variable
appropriée :
Private Sub opt586_Click()
strComputer = "Pentium"
Call DisplayCaption
End Sub
Il appelle ensuite une sous-procédure, DisplayCaption, qui concatène les deux variables et met à jour la propriété Caption
du contrôle Label :
Sub DisplayCaption()
[Link] = "Vous avez sélectionné a " & _
strComputer & " en cours d'exécution " & strSystem
End Sub
Une sous-procédure suffit car la procédure de mise à jour de la propriété Caption est pratiquement identique pour les cinq
boutons d'option ; seule la valeur des variables change d'une occurrence à l'autre. Vous n'avez donc pas à répéter le même
code dans chaque événement Click.
Pour plus d'informations sur les variables et les sous-procédures, reportez-vous au chapitre 5, « Éléments fondamentaux de
programmation ».

Utilisation des contrôles ListBox et ComboBox


Les contrôles zone de liste (ListBox) et zone de liste modifiable (ComboBox) proposent une liste de choix à l'utilisateur. Par
défaut, les choix s'affichent verticalement sur une colonne, mais vous pouvez définir plusieurs colonnes. Si le nombre
d'éléments dépasse la partie visible de la zone, des barres de défilement apparaissent automatiquement sur le contrôle.
L'utilisateur peut alors faire défiler la liste vers le haut, le bas, la gauche ou la droite. La figure 3.14 représente un contrôle
ListBox à une colonne.

Figure 3.14 Contrôle ListBox à une colonne

Un contrôle ComboBox combine les caractéristiques d'un contrôle TextBox et d'un contrôle ListBox. Il permet à l'utilisateur
d'effectuer une sélection en tapant du texte dans la zone ou en sélectionnant un élément dans la liste. La figure 3.15
représente un contrôle ComboBox.

Ahmed ABOUABDELLAH 34
Figure 3.15 Contrôle ComboBox

Contrairement à d'autres contrôles contenant une seule valeur, comme la propriété Caption d'un contrôle Label ou la
propriété Text d'un contrôle TextBox, les contrôles ListBox et ComboBox contiennent plusieurs valeurs ou un groupe de
valeurs. Leurs méthodes intégrées permettent d'ajouter, de supprimer ou d'extraire des valeurs au moment de l'exécution.
Pour ajouter plusieurs éléments à un contrôle ListBox nommé List1, la syntaxe du code est la suivante :
[Link] "Paris"
[Link] "New York"
[Link] "San Francisco"
Les contrôles ListBox et ComboBox s'avèrent particulièrement efficaces pour proposer à l'utilisateur un grand nombre de
choix dans un espace limité.
Pour plus d'informations sur les contrôles ListBox et ComboBox, reportez-vous au chapitre 7, « Utilisation des contrôles
standard de Visual Basic ».

Utilisation des barres de défilement en tant que périphériques d'entrée


Bien que les barres de défilement soient souvent liées aux zones de texte ou aux fenêtres, elles peuvent aussi être utilisées
en tant que périphériques d'entrée. Comme les barres de défilement peuvent indiquer la position en cours sur une échelle,
elles peuvent être utilisées individuellement pour contrôler une entrée de programme, par exemple un volume sonore, ou
agencer les couleurs d'une image. Les contrôles HScrollBar (horizontal) et VScrollBar (vertical) fonctionnent
indépendamment des autres contrôles et possèdent leurs propres jeux d'événements, de propriétés et de méthodes. Les barres
de défilement sont différentes de celles qui sont intégrées et liées aux contrôles TextBox, ListBox, ComboBox ou feuilles
MDI (les contrôles TextBox et feuilles MDI ont une propriété ScrollBars qui permet d'ajouter ou de supprimer les barres de
défilement liées au contrôle).
Les directives d'interface Windows conseillent d'utiliser désormais les contrôles curseur en tant que périphériques d'entrée, à
la place des barres de défilement. Le Panneau de configuration de Windows 95 contient des exemples de contrôles curseur.
Un contrôle curseur de style Windows 95 est inclus dans les Éditions Professionnelle et Entreprise de Visual Basic.
Pour plus d'informations sur les contrôles ScrollBar, reportez-vous au chapitre 7, « Utilisation des contrôles standard de
Visual Basic ».

Contrôles d'affichage d'images et de graphiques


Comme Windows est une interface utilisateur graphique, il est important de pouvoir afficher des images graphiques dans
l'interface de votre application. Visual Basic offre quatre contrôles qui facilitent l'utilisation des graphiques : PictureBox,
Image, Shape et Line.
Les contrôles Image, Shape et Line sont parfois appelés contrôles graphiques « allégés », car ils nécessitent moins de
ressources système et s'affichent par conséquent plus rapidement que le contrôle PictureBox. Ils comprennent un jeu réduit
de propriétés, méthodes et événements disponibles dans le contrôle PictureBox. Chacun d'eux a été conçu pour répondre à
un usage particulier.
Pour fournir cette fonction Utilisez le contrôle
Un conteneur pour d'autres contrôles PictureBox
Des méthodes d'impression ou graphiques PictureBox
L'affichage d'une image Image ou PictureBox

Ahmed ABOUABDELLAH 35
L'affichage d'un élément graphique simple Shape ou Line

Utilisation du contrôle PictureBox


Le contrôle zone d'image (PictureBox) est surtout utilisé pour afficher une image destinée à l'utilisateur. L'image qui
s'affiche est déterminée par la propriété Picture. Cette propriété contient le nom de fichier (et le chemin d'accès éventuel) de
l'image que vous voulez afficher.
Note Les objets feuille incluent aussi une propriété Picture qui peut être définie pour afficher une image directement en
arrière-plan d'une feuille.

Pour afficher ou remplacer une image au moment de l'exécution, vous pouvez utiliser la fonction LoadPicture qui permet de
définir la propriété Picture. Lorsque vous indiquez le nom (et l'éventuel chemin d'accès) de l'image, la fonction LoadPicture
gère les détails du chargement et de l'affichage :
[Link] = LoadPicture("[Link]")
Le contrôle PictureBox comprend une propriété AutoSize dont la valeur True redimensionne automatiquement la zone
d'image pour l'adapter à son contenu. Soyez particulièrement prudent lors de la création de votre feuille si vous prévoyez
d'utiliser un contrôle PictureBox dont la propriété AutoSize est activée. En effet, l'image sera redimensionnée sans tenir
compte des autres contrôles de la feuille, et vous risquez d'obtenir des résultats inattendus, tels que le recouvrement des
autres contrôles par l'image. Il est donc conseillé de tester le résultat en chargeant chaque image au moment de la création.

Utilisation d'un contrôle PictureBox en tant que conteneur


Le contrôle PictureBox peut aussi être utilisé en tant que conteneur d'autres contrôles. Comme avec le contrôle Frame, vous
pouvez dessiner d'autres contrôles dans le haut du contrôle PictureBox. Les contrôles ainsi dessinés se déplacent avec le
contrôle PictureBox, et leurs propriétés Top et Left concernent ce dernier et non la feuille.
La barre d'outils ou la barre d'état est un exemple d'utilisation courant du contrôle conteneur PictureBox. Vous pouvez y
placer des contrôles Image qui agissent en tant que boutons, ou ajouter des étiquettes pour afficher des messages d'état. Si la
propriété Align a les valeurs Top, Bottom, Left ou Right, la zone d'image sera « collée » au bord de la feuille. La figure 3.16
représente une zone d'image dont la propriété Align a la valeur Bottom. Elle contient deux contrôles Label qui peuvent être
utilisés pour afficher des messages d'état.

Figure 3.16 Contrôle PictureBox utilisé en tant que barre d'état

Autres utilisations du contrôle PictureBox


Le contrôle PictureBox offre plusieurs méthodes qui s'avèrent particulièrement utiles pour d'autres fonctions. Une zone
d'image est comparable à un canevas sur lequel vous pouvez peindre, dessiner ou imprimer. Un seul contrôle permet
d'afficher du texte, des graphiques, ou même une simple animation.
La méthode Print permet d'imprimer un texte sur le contrôle PictureBox, comme s'il s'agissait d'une imprimante. Plusieurs
propriétés concernant les polices de caractères sont disponibles pour contrôler les caractéristiques de l'impression du texte
par la méthode Print ; vous pouvez utiliser la méthode Cls pour effacer la sortie imprimée.
Vous pouvez utiliser les méthodes Circle, Line, Point et Pset pour dessiner des graphiques dans la zone d'image. Les
propriétés DrawWidth, FillColor et FillStyle permettent de personnaliser l'aspect des graphiques.

Ahmed ABOUABDELLAH 36
Il est possible de créer une animation à l'aide de la méthode PaintPicture en déplaçant les images à l'intérieur du contrôle
Image et en passant rapidement d'une image à l'autre.
Pour plus d'informations sur le contrôle PictureBox, reportez-vous au chapitre 7, « Utilisation des contrôles standard de
Visual Basic ».

Contrôles graphiques allégés


Les contrôles Image, Shape et Line sont appelés ainsi parce qu'ils ne prennent en charge qu'un jeu réduit de propriétés, de
méthodes et d'événements du contrôle PictureBox. C'est la raison pour laquelle ils exigent généralement moins de
ressources système et se chargent plus rapidement que le contrôle PictureBox.

Utilisation des contrôles Image au lieu des contrôles PictureBox


Le contrôle Image est similaire au contrôle PictureBox, mais il ne s'utilise que pour afficher des images. Il ne peut pas agir
en tant que conteneur pour d'autres contrôles et ne gère pas les méthodes avancées du contrôle PictureBox.
Les images sont chargées dans un contrôle Image exactement comme dans un contrôle PictureBox : lors de la création,
affectez la propriété Picture à un nom de fichier et à un chemin d'accès ; lors de l'exécution, utilisez la fonction
LoadPicture.
Le comportement du redimensionnement du contrôle Image diffère de celui du contrôle PictureBox. Il comporte une
propriété Stretch alors que le contrôle PictureBox comporte une propriété AutoSize. Si la valeur de la propriété AutoSize est
True, le contrôle PictureBox est redimensionné en fonction de la taille de l'image ; si la valeur est False, l'image est
découpée (seule une partie de l'image sera visible). Si elle est False (valeur par défaut), le contrôle est redimensionné en
fonction de la taille de l'image. Si la valeur de la propriété Stretch est True, l'image est redimensionnée en fonction de la
taille du contrôle Image, ce qui peut engendrer une déformation de l'image.
Pour plus d'informations sur le contrôle Image, reportez-vous au chapitre 7, « Utilisation des contrôles standard de
Visual Basic ».

Utilisation d'un contrôle Image pour créer vos propres boutons


Comme un contrôle Image reconnaît aussi l'événement Click, vous pouvez l'utiliser pour créer un bouton de commande,
quel que soit l'endroit où se trouve ce dernier. Cela vous permet de créer aisément un bouton avec une image à la place d'un
libellé. En regroupant horizontalement plusieurs contrôles Image dans le haut de l'écran (généralement, à l'intérieur d’un
contrôle PictureBox), vous pouvez créer une barre d'outils dans votre application.
Ainsi, l'exemple boutons de test comprend un contrôle Image que l'utilisateur peut choisir comme s'il s'agissait d'un bouton
de commande. Lorsque la feuille apparaît pour la première fois, le contrôle affiche une des trois icônes de signalisation de
la bibliothèque des icônes fournie avec Visual Basic. Chaque fois que vous cliquez sur le contrôle Image, une icône
différente apparaît (une version de travail de cet exemple est disponible dans [Link] de l'exemple d'application
[Link]).
Si vous examinez la feuille au moment de la création, vous constaterez qu'elle contient les trois icônes qui se chevauchent
par leur sommet. En attribuant la valeur False à la propriété Visible du contrôle Image du haut, l'image suivante (avec True
comme valeur de sa propriété Visible) apparaîtra sur le dessus.
La figure 3.17 montre le contrôle Image avec une des icônes de signalisation ([Link]).

Figure 3.17 Contrôle Image avec une icône de signalisation

Pour créer une bordure autour du contrôle Image, attribuez à la propriété BorderStyle la valeur 1-Simple fixe.
Note Contrairement aux boutons de commande, les contrôles Image ne s'affichent pas comme s'ils avaient été enfoncés lorsque vous
cliquez dessus. Autrement dit, sauf si vous modifiez l'image bitmap dans l'événement MouseDown, aucun indice visuel ne signale à
l'utilisateur que le « bouton » a été enfoncé.

Ahmed ABOUABDELLAH 37
Pour plus d'informations sur l'affichage d'une image graphique dans un contrôle Image, reportez-vous au chapitre 7,
« Utilisation des contrôles standard de Visual Basic ».

Utilisation des contrôles Shape et Line


Ces contrôles s'avèrent utiles pour dessiner des éléments graphiques dans une feuille. Ils ne gèrent aucun événement et sont
strictement réservés à des fins décoratives.
Plusieurs propriétés permettent de contrôler l'aspect du contrôle Shape. Si vous définissez la propriété Shape, il peut
s'afficher sous la forme d'un rectangle, d'un carré, d'une courbe, d'un cercle, d'un rectangle ou d'un carré arrondis. Vous
pouvez définir les propriétés BorderColor et FillColor pour changer la couleur ; les propriétés BorderStyle, BorderWidth,
FillStyle et DrawMode contrôlent la façon de dessiner la forme.
Le contrôle Line est similaire au contrôle Shape, mais il ne sert qu'à tracer des lignes droites.
Pour plus d'informations sur les contrôles Shape et Line, reportez-vous au chapitre 7 « Utilisation des contrôles standard de
Visual Basic ».

Application Images
La feuille illustrée à la figure 3.18 utilise quatre contrôles Image, un contrôle Shape, un contrôle PictureBox et un contrôle
CommandButton. Lorsque l'utilisateur sélectionne un symbole de carte à jouer, le contrôle Shape met le symbole en
surbrillance et une description s'affiche dans la zone d'image. Une version de travail de cet exemple est disponible dans
[Link] de l'exemple d'application [Link].

Figure 3.18 Exemples de contrôles Image et Shape

Le tableau suivant donne la liste des propriétés et de leurs valeurs pour les objets de l'application.
Objet Propriété Valeurs
PictureBox Name picStatus
Align Bottom
Premier contrôle Image Name imgClub
Picture [Link]
Deuxième contrôle Image Name imgDiamond
Picture [Link]
Troisième contrôle Image Name imgHeart
Picture [Link]
Quatrième contrôle Image Name imgSpade
Caption [Link]

Ahmed ABOUABDELLAH 38
Contrôle Shape Name shpCard
Shape 4 - Rectangle arrondi
BorderWidth 2
Height 735
Width 495
CommandButton Name cmdClose
Caption &Fermer

Événements de l'application Images


L'application Images répond aux événements de la façon suivante :
 L'événement Click de chaque contrôle Image définit la propriété Left du contrôle Shape comme étant égale à sa propre
propriété Left, tout en déplaçant la forme vers le haut de l'image.
 La méthode Cls du contrôle PictureBox est appelée pour effacer le libellé en cours de la barre d'état.
 La méthode Print du contrôle PictureBox est appelée pour imprimer le nouveau libellé sur la barre d'état.

Le code dans l'événement Click du contrôle Image est le suivant :


Private Sub imgHeart_Click()
[Link] = [Link]
[Link]
[Link] "Sélectionné : Club"
[Link] = True
End Sub
À noter que la première ligne du code de l'événement Click affecte une valeur (propriété Left du contrôle Image) à la
propriété Left du contrôle Shape à l'aide de l'opérateur =. Comme les deux lignes suivantes appellent des méthodes, aucun
opérateur n'est nécessaire. Dans la troisième ligne, la valeur (« Sélectionné : Club ») est un argument de la méthode Print.
L'événement Form Load contient une autre ligne du code de l'application qui est également importante :
[Link] = False
Si la propriété Visible du contrôle Shape prend la valeur False, le contrôle est masqué jusqu'à ce que vous cliquiiez sur la
première image. La propriété Visible prend la valeur True en tant que dernière étape de l'événement Click du contrôle
Image.
Pour plus d'informations sur les propriétés, les méthodes et les événements, reportez-vous au chapitre 5, « Éléments
fondamentaux de programmation ».

Autres contrôles
La boîte à outils de Visual Basic contient plusieurs autres contrôles standard. Certains permettent de travailler avec de
grandes quantités de données incluses dans une base de données externe. D'autres peuvent être utilisés pour accéder au
système de fichiers Windows. D'autres encore défient toute possibilité de classement mais ils sont néanmoins très utiles.
Dans une application Visual Basic, vous pouvez aussi utiliser les contrôles ActiveX (auparavant appelés contrôles OLE ou
contrôles personnalisés) de la même façon que les contrôles standard. Les Éditions Professionnelle et Entreprise de
Visual Basic contiennent un grand nombre de contrôles ActiveX et vous offrent la possibilité de créer vos propres contrôles.
D'autres contrôles ActiveX destinés à de multiples usages sont disponibles auprès de nombreux fournisseurs.
Pour plus d'informations sur l'utilisation des contrôles ActiveX, reportez-vous au chapitre 4, « Gestion de projets ».

Contrôles d'accès aux données


Dans le monde actuel des entreprises, la plupart des informations sont stockées dans une ou plusieurs bases de données
centrales. Visual Basic offre de nombreux contrôles d'accès aux données, conçus pour les bases de données les plus
couramment utilisées, notamment Microsoft Access et SQL Server.

Ahmed ABOUABDELLAH 39
 Le contrôle Data permet de se connecter à une base de données. Il est semblable à un pipeline reliant la base de données
aux autres contrôles de votre feuille. Ses propriétés, méthodes et événements vous offrent la possibilité de consulter et de
traiter des données externes à partir de votre propre application.
 Le contrôle DBList est similaire au contrôle ListBox. Lorsqu'il est associé à un contrôle Data, il peut recevoir
automatiquement une liste de données provenant d'un champ d'une base de données externe.
 Le contrôle DBCombo est semblable à une combinaison du contrôle DBList et d'un contrôle TextBox. Le texte
sélectionné dans la partie de la zone de texte peut être modifié, et les modifications apparaissent dans la base de données
sous-jacente.
 Le contrôle DBGrid affiche les données dans une grille ou une table. Lorsqu'il est associé à un contrôle de données, il
affiche des données entièrement modifiables provenant de multiples champs d'une base de données externe.
 Le contrôle MSFlexGrid est un contrôle unique qui permet d'afficher de nombreuses vues de données. Il peut être
comparé à la combinaison d'une grille et d'une arborescence ou à un contrôle plan. Lors de l'exécution, l'utilisateur peut
réorganiser les colonnes et les lignes pour présenter différentes vues de données.

Pour plus d'informations sur les contrôles d'accès aux données et l'utilisation de données externes, reportez-vous
respectivement au chapitre 7, « Utilisation des contrôles standard de Visual Basic » et au chapitre 14, « Accès aux
données ».

Contrôles Système de fichiers


Visual Basic offre trois contrôles qui permettent d'ajouter dans votre application des fonctions de gestion de fichiers. En
général, ils sont utilisés pour fournir une vue des lecteurs, dossiers et fichiers et comportent des propriétés spéciales
associées à des événements.
 Le contrôle DriveListBox ressemble à un contrôle ComboBox. Il comprend une liste déroulante de lecteurs à partir de
laquelle l'utilisateur peut effectuer une sélection.
 Le contrôle DirListBox est semblable à un contrôle ListBox, mais il offre en plus une fonction intégrée qui permet
d'afficher la liste des dossiers du lecteur sélectionné.
 Le contrôle FileListBox ressemble également à un ListBox ; il affiche la liste des noms de fichier du dossier sélectionné.

Note Ces contrôles sont destinés essentiellement à fournir une compatibilité amont avec des applications créées avec des
versions précédentes de Visual Basic. La boîte de dialogue commune offre une méthode simple d'accès aux fichiers. Pour
plus d'informations sur cette boîte de dialogue, reportez-vous à la section suivante « Contrôles divers ».

Contrôles divers
Visual Basic fournit d'autres contrôles standard destinés chacun à un usage particulier.
 Le contrôle minuterie (Timer) peut être utilisé pour créer dans votre application un événement qui se produira à
intervalles réguliers. Il s'avère particulièrement utile pour exécuter du code qui ne nécessite pas l'intervention de
l'utilisateur.
 Le contrôle conteneur OLE (OLE) permet d'ajouter aisément dans votre application des fonctions telles que la liaison et
l'incorporation d'objets. À l'aide de ce contrôle, vous pouvez fournir un accès aux fonctions d'une application activée par
l'OLE, telle que Microsoft Excel, Word et bien d'autres.
 Le contrôle boîte de dialogue commune (CommonDialog) insère dans votre application des boîtes de dialogues intégrées
qui permettent de sélectionner des fichiers, des couleurs, des polices et des fonctions d'impression.

Pour plus d'informations sur les contrôles standard, reportez-vous au chapitre 7,« Utilisation des contrôles standard de
Visual Basic ».

Principe du focus
Le focus permet de recevoir une entrée utilisateur par l'intermédiaire de la souris ou du clavier. Lorsque le focus se trouve
sur un objet, celui-ci peut recevoir une entrée provenant d'un utilisateur. Dans l'interface Microsoft Windows, plusieurs
applications peuvent être exécutées à tout moment, mais seule celle sur laquelle se trouve le focus a une barre de titre active

Ahmed ABOUABDELLAH 40
et peut recevoir une entrée utilisateur. Dans une feuille Visual Basic contenant plusieurs zones de texte, seule celle sur
laquelle se trouve le focus peut afficher le texte entré à l'aide du clavier.
Les événements GotFocus et LostFocus se produisent lorsqu'un objet reçoit ou perd le focus. Ces événements sont gérés par
les feuilles et la plupart des contrôles.
Événement Description
GotFocus Se produit lorsqu'un objet reçoit le focus.
LostFocus Se produit lorsqu'un objet perd le focus. Une procédure
d'événement LostFocus permet surtout de vérifier et de valider des
mises à jour, et d'inverser ou de modifier les conditions que vous
avez définies dans la procédure GotFocus de l'objet.

Pour placer le focus sur un objet :


 Sélectionnez l'objet au moment de l'exécution.
 Utilisez une touche d'accès rapide pour sélectionner l'objet lors de l'exécution.
 Utilisez la méthode SetFocus dans le code.

Le focus est visible sur certains objets. Par exemple, lorsque vous placez le focus sur des boutons de commande, ils
s'affichent avec une bordure en surbrillance autour du libellé (voir la figure suivante).

Figure 3.19 Bouton de commande affichant le focus

Un objet ne peut recevoir le focus que si la valeur des propriétés Enabled et Visible est True. La propriété Enabled permet à
l'objet de répondre aux événements générés par l'utilisateur tels que les événements du clavier et de la souris. La propriété
Visible détermine si un objet est visible à l'écran.
Note Les contrôles Frame, Label, Menu, Line, Shape, Image et Timer ne peuvent recevoir le focus. Une feuille ne reçoit le focus que si
elle ne contient pas de contrôles pouvant recevoir le focus.

Définition de l'ordre des tabulations


L'ordre des tabulations est l'ordre dans lequel un utilisateur se déplace d'un contrôle à l'autre à l'aide de la touche TAB. Un
ordre de tabulations est défini pour chaque feuille. Généralement, il est identique à l'ordre dans lequel vous avez créé les
contrôles.
Par exemple, supposons que vous créez deux zones de texte, Text1 et Text2, ainsi que le bouton de commande Command1.
Lorsque l'application démarre, Text1 a le focus. Si vous appuyez sur TAB, le focus se déplace entre les contrôles dans l'ordre
dans lequel vous les avez créés, comme illustré à la figure 3.20.

Figure 3.20 Exemple de tabulations

Pour changer l'ordre des tabulations d'un contrôle, modifiez la propriété TabIndex. La propriété TabIndex d'un contrôle
détermine la position de celui-ci dans l'ordre des tabulations. Par défaut, la valeur du premier contrôle dessiné est 0, celle du

Ahmed ABOUABDELLAH 41
deuxième contrôle est 1, et ainsi de suite. Lorsque vous modifiez la position de l'ordre des tabulations d'un contrôle,
Visual Basic renumérote automatiquement les positions de l'ordre des tabulations des autres contrôles pour tenir compte des
insertions et des suppressions. Par exemple, si vous placez en premier Command1 dans l'ordre des tabulations, les valeurs
TabIndex des autres contrôles sont automatiquement ajustées dans le sens ascendant, comme indiqué dans le tableau
suivant.
Contrôle TabIndex avant modification TabIndex après modification
Text1 0 1
Text2 1 2
Command1 2 0

La valeur TabIndex la plus élevée est toujours égale au nombre de contrôles de l'ordre de tabulations moins un (car la
numérotation commence à 0). Même si vous attribuez à la propriété TabIndex un numéro supérieur au nombre de contrôles,
Visual Basic lui redonne une valeur égale au nombre de contrôles moins 1.
Note Les contrôles qui ne peuvent recevoir le focus ainsi que les contrôles invisibles et désactivés n'ont pas de propriété TabIndex et ne
sont pas inclus dans l'ordre des tabulations. Ces contrôles sont ignorés lorsque l'utilisateur appuie sur la touche TAB.

Suppression d'un contrôle de l'ordre des tabulations


En général, lorsque vous appuyez sur TAB lors de l'exécution, vous sélectionnez chaque contrôle dans l'ordre des tabulations.
Pour supprimer un contrôle de l'ordre des tabulations, la propriété TabStop doit avoir la valeur False (0).
Un contrôle dont la propriété TabStop a la valeur False conserve toujours sa position dans l'ordre actuel des tabulations,
même si le contrôle est ignoré lorsque vous exécutez de nouveau les contrôles à l'aide de la touche TAB.
Note Un bouton d'option comprend un seul taquet de tabulation. La propriété TabStop du bouton sélectionné (c'est-à-dire celui dont la
valeur de la propriété Value est True) prend automatiquement la valeur True, alors que la propriété TabStop des autres boutons est False.

Éléments de base des menus


Si vous voulez que votre application propose un jeu de commandes à l'utilisateur, les menus constituent un moyen pratique
et cohérent pour regrouper des commandes auxquelles l'utilisateur peut aisément accéder.
La figure 3.21 illustre les éléments d'une interface de menus dans une feuille sans titre.

Figure 3.21 Éléments d'une interface de menus dans une feuille Visual Basic

Ahmed ABOUABDELLAH 42
Dans la feuille, la barre de menus apparaît juste sous la barre de titre, et contient un ou plusieurs titres de menu. Lorsque
vous cliquez sur un titre de menu (par exemple, sur Fichier), un menu contenant une liste d'options de menu se déroule. Les
options de menu peuvent inclure des commandes (par exemple, Nouveau et Quitter), des barres de séparation et des titres de
sous-menu. À chaque option de menu visible par l'utilisateur, correspond un contrôle Menu que vous définissez dans le
Créateur de menus (décrit plus bas dans ce chapitre).
Pour simplifier l'utilisation de votre application, regroupez les options de menu selon leurs fonctions. Par exemple, la
figure 3.21 représente le menu Fichier qui regroupe toutes les commandes relatives aux fichiers (Nouveau, Ouvrir et
Enregistrer sous…).
Certaines options de menu exécutent directement une action. Par exemple, l'option de menu Quitter du menu Fichier ferme
l'application. D'autres affichent une boîte de dialogue, c'est-à-dire une fenêtre qui invite l'utilisateur à fournir les
informations nécessaires à l'application pour exécuter une action. Ces options de menu doivent être suivies de points de
suspension (…). Par exemple, lorsque vous choisissez Enregistrer sous… dans le menu Fichier, la boîte de dialogue
Enregistrer sous apparaît.
Un contrôle Menu est un objet qui, comme les autres objets, comporte des propriétés que vous pouvez utiliser pour définir
son aspect et son comportement. Vous pouvez définir les propriétés Caption, Enabled, Visible, Checked, et d'autres, au
moment de la création ou de l'exécution. Un contrôle Menu contient uniquement l'événement Click , qui est appelé lorsque
le contrôle est sélectionné à l'aide de la souris ou du clavier.
Pour plus d'informations sur les contrôles Menu, reportez-vous à la section « Création de menus » du chapitre 6, « Création
d'une interface utilisateur ».

Menus déroulants
Un menu déroulant est un menu flottant qui s'affiche dans une feuille indépendamment de la barre de menus, tel qu'illustré à
la figure 3.22. Les éléments affichés dans un menu déroulant dépendent de la position du pointeur lorsque vous appuyez sur
le bouton droit de la souris. C'est la raison pour laquelle ces menus sont aussi appelés menus contextuels (dans Windows 95,
vous les activez en cliquant le bouton droit de la souris). Utilisez ces menus pour fournir un moyen d'accès rapide et
efficace aux commandes contextuelles souvent utilisées. Par exemple, si vous cliquez sur un contrôle TextBox avec le
bouton droit de la souris, un menu contextuel s'affiche, comme illustré à la figure 3.22.

Figure 3.22 Menu contextuel

Tout menu comportant au moins une option peut être affiché lors de l'exécution comme un menu contextuel. Pour afficher
ce type de menu, utilisez la méthode PopupMenu.

Ahmed ABOUABDELLAH 43
Pour plus d'informations sur la création des menus contextuels, reportez-vous à la section « Création de menus » du
chapitre 6, « Création d'une interface utilisateur ».

Utilisation du Créateur de menus


Avec le Créateur de menus vous pouvez ajouter de nouvelles commandes aux menus existants, remplacer des commandes
de menu existantes par vos propres commandes, créer des menus et des barres de menus, et modifier ou supprimer des
menus existants et des barres de menus. Le principal avantage du Créateur de menus réside dans sa souplesse d'utilisation.
Vous pouvez personnaliser des menus d'une façon entièrement interactive qui demande peu de programmation.

 Pour afficher le Créateur de menus


 Dans le menu Outils, cliquez sur Créateur de menus.
.
Le Créateur de menus s'ouvre, comme illustré ci-dessous.

Figure 3.23 Le Créateur de menus

Alors que la plupart des propriétés du contrôle Menu peuvent être définies à l'aide du Créateur de menus, toutes les
propriétés de menus sont aussi disponibles dans la fenêtre Propriétés. En général, les menus sont créés dans le Créateur de
menus. Toutefois, pour modifier rapidement une propriété, utilisez la fenêtre Propriétés.
Pour plus d'informations sur la création de menus et l'utilisation du Créateur de menus, reportez-vous à la section
« Création de menus » du chapitre 6, « Création d'une interface utilisateur ».

Demande d'intervention de l'utilisateur par des boîtes de dialogue


Dans les applications Windows, les boîtes de dialogue permettent de demander à l'utilisateur d'entrer les données
nécessaires à l'application afin qu'elle poursuive son exécution ou qu'elle affiche des informations destinées à l'utilisateur.
Les boîtes de dialogue sont un type particulier d'objet feuille que vous pouvez créer de l'une des trois façons suivantes :
 Les boîtes de dialogue prédéfinies peuvent être créées à partir du code à l'aide des fonctions MsgBox ou InputBox.
 Les boîtes de dialogue personnalisées peuvent être créées à l'aide d'une feuille standard ou en personnalisant une boîte
de dialogue existante.
 Les boîtes de dialogue standard, comme Imprimer et Fichier ouvrir, peuvent être créées à l'aide du contrôle boîte de
dialogue commune.

La figure 3.24 montre l'exemple d'une boîte de dialogue prédéfinie créée à l'aide de la fonction MsgBox.

Figure 3.24 Boîte de dialogue prédéfinie

Ahmed ABOUABDELLAH 44
Cette boîte de dialogue s'affiche lorsque vous appelez la fonction MsgBox dans le code. La syntaxe du code permettant
d'afficher la boîte de dialogue de la figure 3.24 est la suivante :
MsgBox "Erreur rencontrée au cours de la tentative d'ouverture " _
& "du fichier, essayez de nouveau.", _
bExclamation, "Éditeur de texte"
Vous devez fournir trois éléments d'information, ou arguments, à la fonction MsgBox : le texte du message, une constante
(valeur numérique) pour déterminer le style de la boîte de dialogue, et un titre. Il existe des styles proposant diverses
combinaisons de boutons et d'icônes qui permettent de créer facilement des boîtes de dialogue.
Comme la plupart des boîtes de dialogue requièrent une intervention de l'utilisateur, elles s'affichent généralement comme
des boîtes de dialogue modales. Vous devez fermer (masquer ou décharger) une boîte de dialogue modale pour continuer à
utiliser l'application. Par exemple, une boîte de dialogue est modale si elle vous demande de cliquer sur OK ou sur Annuler
pour pouvoir passer à une autre feuille ou à une autre boîte de dialogue.
Les boîtes de dialogue non modales permettent de déplacer le focus entre la boîte de dialogue et la feuille sans avoir à
fermer la boîte de dialogue. Vous pouvez continuer à travailler dans l'application en cours pendant que la boîte de dialogue
est affichée. Les boîtes de dialogue de ce type sont assez rares ; elles s'affichent généralement lorsqu'une réponse est
nécessaire pour que l'application puisse se poursuivre. Dans le menu Edition, la boîte de dialogue Rechercher de
Visual Basic est un exemple de boîte de dialogue non modale. Utilisez ces boîtes de dialogue pour afficher des commandes
ou des informations fréquemment utilisées.
Pour plus d'informations sur la création des boîtes de dialogue, reportez-vous au chapitre 6, « Création d'une interface
utilisateur ».

Ahmed ABOUABDELLAH 45

Vous aimerez peut-être aussi