|
Rappel : Ce cours est enseigné dans la |
||||||||||||||||||||
VB étant un langage objet, donc événementiel, il exploite l'interface Windows. Alors,
autant mettre de la couleur, des images, et tout ce qui rend la vie plus
agréable. Surtout que ce n'est franchement pas difficile.
Form1.Print "Coucou"
Ira écrire "Coucou" en haut à gauche de la Form. La prochaine
instruction Print provoquera une
écriture juste en dessous… sauf si nous avions terminé l’instruction
précédente par un point-virgule. Auquel cas, la prochaine écriture
s’effectuera à la suite.
Remarque : A priori, si l'utilisateur redimensionne la Form, le texte
précédemment inscrit disparaîtra, ce qui
peut être gênant. Il est facile d’y remédier : fixez auparavant la
propriété AutoRedraw de la Form à
True. Attention toutefois, cela ralentit
l’application.
Autre Remarque : Print s’applique également aux
contrôles PictureBox. Cela
représente une alternative par rapport aux modifications de
Label.Caption que nous avions utilisé
jusque là.
Dernière Remarque : utiliser la méthode Print
revient de fait à utiliser VB comme un bon vieux langage non graphique. Autrement
dit, je ne l’ai signalée que pour le principe, il y a bien mieux à faire
que se servir de ce bidule.
Dans les exercices qui ont jalonné ce cours, nous avons croisé, sans nous y
arrêter, un certain nombre de propriétés gérant la couleur des différents
contrôles : ForeColor, BackColor, etc.
Ce qu’il faut savoir, lorsqu’on passe une instruction pour affecter une valeur à
l’une de ces propriétés, c’est qu’il existe pas moins de
trois systèmes de couleurs en Visual Basic,
systèmes que vous pouvez utiliser indifféremment.
3. Les coordonnées
Dès que l’on va placer ou déplacer des objets graphiques, il va falloir spécifier
les coordonnées. Et ce n’est pas toujours d’une simplicité biblique.
Premier point, sur lequel M. de Lapalisse, un ancien voisin à moi, ne m’aurait pas
démenti : l’écran possède deux dimensions. Cette forte pensée étant posée,
il reste que l’origine (le point 0, 0) se trouve
en haut à gauche, et pas du tout en
bas à gauche, là où tout occidental, hormis Bill Gates, l’aurait placé.
Deuxième problème : comment savoir quelles sont les dimensions de l’objet sur
lequel on veut dessiner ? Là, il faut faire attention. Car si Height
et Width sont, comme vous le savez, les
dimensions extérieures d'un objet, dans le cas d'une Form, on peut avoir
besoin de connaître les dimensions intérieures.
Celles-ci nous sont alors fournies par les propriétés ScaleHeight
et ScaleWidth de cette Form.
Autre aspect : on dispose de plusieurs unités de mesures possibles pour les
coordonnées.
L’unité par défaut est le twip.
Cette chose représente très exactement
1/567e de centimètre. Le gros avantage de cette unité, c’est qu’elle est
indépendante de la résolution du périphérique utilisé. Un centimètre, c’est toujours un
centimètre (nous négligerons ici les effets de la relativité, la vitesse
moyenne de déplacement des écrans par rapport à celui qui les regarde
étant généralement négligeable par rapport à la vitesse de la lumière).
Mais il y a aussi le pixel. L’avantage du
pixel, c’est sa rapidité. Vous épargnez à Windows une conversion, puisque
un pixel, c’est un point. Mais l’inconvénient, c’est que selon les
résolutions d’écran, le nombre de pixels varie fortement… (le nombre de
twips varie aussi selon la taille de l’écran, me direz-vous, alors perdu
pour perdu…)
On modifie (ce qui n’est généralement pas indispensable) le système de mesures par la
propriété ScaleMode de la Form.
Certains contrôles sont dédiés à l'affichage de graphiques, d'une manière ou d'une
autre. Il est maintenant temps de s'y intéresser de plus près…
4.1 contrôles graphiques
On doit mentionner pour mémoire, mais vraiment uniquement pour cela :
L'utilisation de ces deux contrôles demeure cependant marginale. S'ils
peuvent éventuellement servir à faire de petits schémas, ils sont
incapables de produire de vrais effets graphiques. Mais surtout, ces
contrôles sont très peu employés parce qu'ils
ne peuvent recevoir aucun événement souris. Leur intérêt
pour un programme est donc fatalement extrêmement limité.
4.2 contrôles image
La première chose à dire si l'on a besoin d'une image, c'est qu'on peut la mettre
directement en fond d'une Form, via la propriété Picture.
Les boutons de commande, eux aussi, possèdent cette propriété
Picture, et
peuvent donc servir de support à une image - à condition, je le rappelle,
que leur propriété Style ait
auparavant été réglée sur Graphical.
Toutefois, on peut avoir besoin d'images qui ne s'identifient pas avec une
Form ou un Bouton. Dans ce cas, des contrôles adéquats sont là pour nous
sauver la vie.
Ce sont des contrôles de VB, exactement comme les zones de textes, les boutons, etc.,
mais qui ont pour but de contenir des jolies images. Enfin, des images. Il
y en a deux : le contrôle PictureBox
et le contrôle Image. Voici un bref
récapitulatif de leurs caractéristiques respectives :
De ces trois critères, sauf cas très spécial, seuls les deux premiers sont réellement importants. Conclusion, soit on a juste besoin d'un image, et alors il faut choisir un contrôle Image. Soit on a besoin d'un conteneur incorporant d'autres choses en plus de l'image, et alors il faut choisir le PictureBox.
La propriété essentielle d'un contrôle Image est
Picture, qui permet de désigner le fichier graphique qui
viendra s'incruster dans le contrôle.
4.3 Méthodes graphiques
Il existe un certain nombre d’actions dites méthodes
graphiques, qui ne sont pas des contrôles, mais qui sont du
code qui a pour rôle de tracer des dessins sur un objet (une
Form, notamment). Le dessin s’effectue donc au cours de l’exécution du
programme. Donc, cela gagne de l’occupation mémoire par rapport à un
contrôle similaire.
Ce n’est pas que cela serve beaucoup, mais par acquit de conscience, allons-y :
Pour la syntaxe précise, je vous renvoie à l'aide, bien que je doute que tout cela
vous serve fréquemment.
|