Utiliser ScrollBar comme périphérique d'entrée
Les barres de défilement sont généralement utilisées avec TextBox ou Windows, mais elles peuvent parfois également être utilisées comme périphériques d'entrée. Étant donné que le contrôle ScrollBar indique la position actuelle de manière proportionnelle, il peut être utilisé seul pour contrôler l'entrée du programme, comme le contrôle du volume sonore ou le réglage de la couleur de l'image. Les contrôles HScrollBar (horizontal) et VScrollBar (vertical) sont indépendants et possèdent leur propre ensemble d'événements, de propriétés et de méthodes. Le contrôle ScrollBar est différent du ScrollBar interne attaché à un formulaire TextBox, ListBox, ComboBox ou MDI. (Les formulaires TextBox et MDI ont la propriété ScrollBars, qui peut ajouter ou supprimer des ScrollBars attachées au contrôle.)
L'invite de l'interface Windows prend désormais en charge le contrôle Slider comme périphérique d'entrée au lieu de ScrollBar. Pour obtenir un exemple du contrôle Slider, consultez le Panneau de configuration de Windows 95. Les éditions Professionnel et Entreprise de Visual Basic incluent un contrôle Slider de style Windows95.
Pour plus d'informations sur le contrôle ScrollBar, consultez le chapitre 7, « Utilisation des contrôles standard de Visual Basic ».
Commandes d'affichage d'images et de graphiques
Windows étant une interface utilisateur graphique, la méthode d'affichage des images graphiques sur l'interface de l'application est très importante. VisualBasic contient quatre contrôles pour simplifier les opérations liées aux graphiques : le contrôle PictureBox, le contrôle Image, le contrôle Shape et le contrôle Line.
Les contrôles Image, Forme et Ligne sont parfois appelés contrôles graphiques légers. Ils nécessitent moins de ressources système, s'affichent donc plus rapidement que les contrôles PictureBox et contiennent un sous-ensemble des propriétés, méthodes et événements disponibles dans PictureBox. Chaque contrôle répond à un objectif spécifique.
Utilisation du contrôle PictureBox
La fonction principale du contrôle PictureBox est d'afficher des images pour les utilisateurs. L'image réellement affichée est déterminée par la propriété Picture. La propriété Picture contient le nom de fichier (et le nom de chemin facultatif) de l'image affichée.
Notez que l'objet formulaire possède également une propriété Image En définissant cette propriété, l'image peut être affichée directement sur l'arrière-plan du formulaire.
Pour afficher ou remplacer une image au moment de l'exécution, utilisez la fonction LoadPicture pour définir la propriété Picture. Fournissez un nom de fichier image et un nom de chemin facultatif, et la fonction LoadPicture gère les détails du chargement et de l’affichage de l’image.
picMain.Picture=LoadPicture(VANGOGH.BMP)
Le contrôle PictureBox possède la propriété AutoSize. Lorsque cette propriété est définie sur True, PictureBox peut automatiquement ajuster la taille pour qu'elle corresponde à l'image affichée. Si vous souhaitez utiliser un PictureBox avec la propriété AutoSize définie sur True, vous devez être particulièrement prudent lors de la conception du formulaire. L'image sera redimensionnée sans tenir compte des autres contrôles du formulaire, ce qui peut entraîner des conséquences inattendues, telles que l'écrasement d'autres contrôles. Lors de la conception, vous devez vérifier si ce phénomène se produit en chargeant chaque image.
Utiliser PictureBox comme conteneur
Le contrôle Picturebox peut également être utilisé comme conteneur pour d’autres contrôles. Comme pour le contrôle Frame, vous pouvez ajouter d’autres contrôles au-dessus du contrôle PictureBox. Ces contrôles se déplacent à mesure que le PictureBox se déplace, et leurs propriétés Top et Left sont relatives au PictureBox et n'ont rien à voir avec le formulaire.
Une utilisation courante des conteneurs PictureBox est ToolBar ou StatusBar. Les contrôles d'image peuvent être placés dans ces conteneurs sous forme de boutons ou ajouter des étiquettes pour afficher les informations d'état. Définissez la propriété Align sur Top, Bottom, Left ou Right, et PictureBox restera collé au bord du formulaire. La figure 3.16 montre une PictureBox avec la propriété Align définie sur Bottom. Il contient deux contrôles Label qui peuvent être utilisés pour afficher des informations d’état.
Autres utilisations de PictureBox
Le contrôle PictureBox propose plusieurs manières de rendre PictureBox disponible à d’autres fins. Par exemple : considérez une PictureBox comme une toile vide sur laquelle vous pouvez dessiner ou imprimer, ou afficher du texte, des graphiques ou même de simples animations.
La méthode PRint permet au texte d'être envoyé au contrôle PictureBox comme s'il était envoyé à une imprimante. Il existe plusieurs propriétés de police qui contrôlent les caractéristiques du texte saisi par la méthode Print ; la méthode Cls efface la sortie.
Les méthodes Circle, Line, Point et Pset peuvent être utilisées pour dessiner des graphiques dans PictureBox. Des propriétés telles que DrawWidth, FillColor et FillStyle permettent de personnaliser l'apparence des graphiques.
Utilisez la méthode PaintPicture pour déplacer l’image dans le contrôle image et vous déplacer entre plusieurs images différentes.
Des changements rapides peuvent créer des animations.
Pour plus d'informations sur le contrôle PictureBox, consultez le chapitre 7, « Utilisation des contrôles standard de Visual Basic ».
Contrôle graphique léger
Les contrôles Image, Forme et Ligne sont tous considérés comme des contrôles graphiques légers, c'est-à-dire qu'ils ne prennent en charge qu'un sous-ensemble des propriétés, méthodes et événements de PictureBox. Par conséquent, ils nécessitent moins de ressources système et se chargent plus rapidement que les contrôles PictureBox.
Utiliser le contrôle Image au lieu de PictureBox
Le contrôle Image est similaire au contrôle PictureBox, mais il sert uniquement à afficher des images. Il ne peut pas être utilisé comme conteneur pour d’autres contrôles et ne prend pas non plus en charge les méthodes avancées de PictureBox. Les images sont chargées dans un contrôle Image de la même manière qu’elles sont chargées dans une PictureBox. Lors de la conception, définissez la propriété Picture sur le nom et le chemin du fichier, et lors de l'exécution, utilisez la fonction Loadpicture.
Le comportement de redimensionnement du contrôle Image est différent de celui du PictureBox. Il a la propriété Stretch et PictureBox a la propriété AutoSize. La définition de la propriété AutoSize sur True entraînera le redimensionnement de PictureBox en fonction de l'image, et la définition sur False entraînera le découpage de l'image (seule une partie de l'image est visible). Lorsque la propriété Stretch est définie sur False (valeur par défaut), le champ Image peut être redimensionné en fonction de l'image. Définir la propriété Stretch sur True redimensionnera l’image en fonction de la taille du contrôle Image.
taille de la pièce, ce qui pourrait déformer l'image.
Pour plus d'informations sur le contrôle Image, consultez le chapitre 7, « Utilisation des contrôles standard de Visual Basic ».
Créez votre propre bouton à l'aide du contrôle Image
Le contrôle Image reconnaît également l'événement Click, il peut donc être utilisé partout où un CommandButton est utilisé. Cette méthode facilite la création de boutons avec des images à la place des titres. Une ToolBar peut être établie dans l'application en regroupant plusieurs contrôles Image et en les plaçant horizontalement en haut de l'écran (généralement dans une PictureBox).
Par exemple, pour le contrôle Image donné dans l'exemple TestButtons, l'utilisateur peut le sélectionner tout comme le CommandButton. Lorsque le formulaire est affiché pour la première fois, le contrôle affiche l'une des trois icônes de trafic de la bibliothèque d'icônes de Visual Basic. Chaque fois que vous cliquez sur le contrôle Image, une icône différente s'affiche (pour une version fonctionnelle de cet exemple, voir Button.frm dans l'exemple d'application Controls.vbp).
Si vous regardez le formulaire lors de la conception, vous verrez qu'il contient en fait les trois icônes empilées ensemble. Modifiez la propriété Visible du contrôle Image supérieur sur False et l'image suivante (si sa propriété Visible est True) sera affichée en haut.
La figure 3.17 montre une icône de trafic Contrôle d'image (Trffc10a.ico).
Pour créer une bordure autour du contrôle Image, définissez la propriété BorderStyle sur 1 : une bordure unique fixe.
Notez que contrairement au CommandButton, lorsque vous cliquez sur le contrôle Image, il n’affiche pas l’action d’être pressé. Autrement dit, à moins que le bitmap ne soit modifié lors de l'événement MouseDown, le "bouton" sur lequel vous appuyez est invisible pour l'utilisateur.
Pour plus d'informations sur l'affichage d'images graphiques dans le contrôle Image, consultez le chapitre 7, « Utilisation des contrôles standard de Visual Basic ».
Utiliser le contrôle Forme et le contrôle Ligne
Les contrôles Forme et Ligne peuvent être utilisés pour dessiner des éléments graphiques sur la surface du formulaire. Ces contrôles ne prennent en charge aucun événement et ne sont utilisés que pour la décoration de surface.
Plusieurs propriétés contrôlent l’apparence d’un contrôle Shape. En définissant la propriété Shape, le contrôle Shape peut être affiché sous la forme d'un rectangle, d'un carré, d'un ovale, d'un rectangle arrondi ou d'un carré arrondi. La définition des propriétés BorderColor et FillColor peut modifier la couleur, et les propriétés BorderStyle, BorderWidth, FillStyle et DrawMode contrôlent la manière de dessiner. Le contrôle Ligne est similaire au contrôle Forme, mais n’est utilisé que pour tracer des lignes.
Pour plus d'informations sur les contrôles Forme et Ligne, consultez le chapitre 7, « Utilisation des contrôles standard de Visual Basic ».
Application Images
Le formulaire illustré à 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 en surbrillance le symbole et affiche une description correspondante dans PictureBox. Pour une version fonctionnelle de cet exemple, consultez Images.frm dans l’exemple d’application Controls.vbp.
Le tableau suivant répertorie les paramètres de propriété des objets de l'application.
->