Accueil
 COURS INFORMATIQUE
 Cours Algorithmique
 Cours ASP
 Cours CSS
 Cours HTML
 Cours PHP / MySQL
 Cours Réseaux
 Cours SQL
 Cours Visual Basic
 ARTICLES
  Conception de sites
  Droit & Internet
  e-commerce
  Société
  Strategies du web
  Technologies Web
  Marketing Web
 LIVRES
  ASP/ASP.Net
  C/C++/C#
  Conception de sites
  DHTML/CSS
  Gestion de Projet
  HTML/Internet
  Java/JSP/J2EE
  JavaScript/VbScript
  Juridique
  Marketing/Stratégie
  PHP/Linux/Unix
  Réseaux
  XML/XHTML/XSL
 NETALYA RECOMMANDE
Reussir un projet de site web

Cours Visual Basic N°4
Objets, propriétés et événements

Auteur : Christophe Darmangeat Imprimer ce cours

Ce chapitre fourre-tout a pour but de faire un tour relativement complet des propriétés et des événements les plus utiles pour les différents objets. Bien entendu, vous avez déjà eu l’occasion de croiser un certain nombre de ces choses, mais là, vous allez repartir avec de quoi faire votre petit marché en toute quiétude.

Propriétés

On n’examinera ici que les propriétés les plus courantes, celles que l’on retrouve pour la majorité, sinon la totalité, des contrôles. Bien entendu, vous avez déjà expérimenté un certain nombre de ces choses, mais là, on va explorer cette histoire un peu plus systématiquement.

1 Localisation des contrôles

Tout contrôle placé sur une Form possède deux propriétés qui régissent son emplacement :

Top distance avec le haut de la Form
Left  distance avec la gauche de la Form

Il y a également deux propriétés qui règlent la taille du contrôle. Ce sont :

Width  largeur du contrôle
Height  hauteur du contrôle

Rien qu’avec ces quatre propriétés, on règle donc et la taille et l’emplacement de tout contrôle. CQFD.

2 Activation

La plupart des contrôles possèdent les propriétés suivantes, toutes booléennes :

Enabled permet / interdit l’action de l’utilisateur sur le contrôle considéré. Bon nombre de contrôles (mais pas tous) deviennent grisés lorsque la propriété Enabled est False.

Visible affiche / cache le contrôle considéré. C’est fou ce qu’on peut faire avec ce petit machin là.

Tabindex règle l’ordre de tabulation des contrôles dans la Form

3 L’objet App

Je signale en passant que votre application elle-même, dans sa totalité, est considérée comme un objet à part entière par VB. Cela implique que cet objet possède des propriétés.

L’une d’entre elles est particulièrement utile : elle vous indique quel est le chemin d’accès à votre exécutable. Donc, vous pouvez utiliser cette propriété pour aller chercher un fichier, quel que soit le répertoire dans lequel votre application a été installée.

Exemple : pour mettre un joli fond sur votre Form, vous voulez récupérer à un moment donné de l’exécution un fichier image, appelé " tronche.jpg ". Ce fichier se trouve dans le même répertoire que l’exécutable, mais a priori vous ne savez pas quel est ce répertoire. Vous écrirez donc :

Form1.Picture = App.Path & "\tronche.jpg"

Et le tour est joué.

Attention : cet exemple ne figure ici que pour montrer la propriété Path. Ne tapez pas ce genre de code dans votre application, pour une autre raison que nous examinerons au chapitre 7.5

Evénements

Je passe rapidement sur le Click et le DblClick, qui n’ont plus de secrets pour vous. Plus intéressants, car moins connus :

1 Evénements clavier

On peut être amené, dans une application, à vouloir " guetter " la frappe de touches du clavier par l’utilisateur. Ceci recouvre grosse moto deux cas :

  • On veut gérer la saisie caractère par caractère dans un contrôle Textbox ou ComboBox. Ceci pour contrôler au fur et à mesure la validité des caractères frappés (éliminer les chiffres, par exemple…) ou convertir les caractères au fur et à mesure les caractères frappés (les convertir automatiquement en minuscules ou en majuscules, par exemple…). Dans ce cas, on affectera l’événement KeyPress, KeyUp ou Keydown (voir plus loin pour le choix) au contrôle concerné
  • On veut affecter, indépendamment de tout problème de saisie dans un contrôle, certaines actions à certaines touches du clavier. Ici, c’est à la Form que l’événement devra être associé. Mais cela ne fonctionnera que si la propriété KeyPreview de la Form possède la valeur True. Dans ce cas, la Form reçoit ces événements avant les contrôles qu'elle contient.

La différence fondamentale entre KeyPress d’une part, et Keydown et Keyup d’autre part, c’est que KeyPress considère quel caractère a été frappé, alors que Keydown et Keyup considèrent l’état physique du clavier.

Par conséquent : KeyPress ne reconnaît pas les frappes ne produisant pas directement un caractère, comme les touches de fonction, les touches de modification, les touches de navigation et toutes les combinaisons de ces touches avec les modificateurs du clavier. En revanche, Keydown et Keyup gèrent parfaitement tout cela.

Autre différence, KeyPress interprète la majuscule et la minuscule de chaque caractère comme des codes de touche distincts et, par conséquent, comme deux caractères différents. KeyDown et KeyUp, quant à eux, interprètent la majuscule et la minuscule de chaque caractère au moyen de deux arguments : keycode, qui indique la touche physique (A et a étant alors équivalents) et shift, qui indique l'état de shift+key et qui renvoie en conséquence soit A, soit a.

Dernière chose sur ce chapitre, Keydown détecte le moment où une touche est enfoncée, KeyUp celui où elle est relâchée.

2 Evénements souris

MouseDown et MouseUp sont deux événements détectant respectivement le fait qu’un bouton de la souris a été enfoncé ou relâché. Ces deux événements sont généralement affectés à une Form. Ils possèdent un certain nombre de paramètres, qui vous permettent de récupérer :

  • quel bouton de la souris a provoqué l’événement
  • l’état des touches Maj, Ctrl et Alt du clavier. Ceci permet de gérer des combinaisons alambiquées clavier + souris.
  • Les coordonnées x et y désignant l’endroit où s’est produit le click.

MouseMove détecte le déplacement de la souris. Cet événement possède les mêmes paramètres que les deux événements précédents. Par ailleurs, je signale en passant que la souris en VB est considérée comme un objet ; elle possède quelques propriétés intéressantes, comme MousePointer et MouseIcon, vous permettant de gérer la physionomie du pointeur de la souris (pointeurs standards ou icônes de votre choix).

3 Gérer le glisser-déplacer : DragDrop et DragOver

Là, on peut vraiment s’amuser. Et par les temps qui courent, ce n’est pas rien. L’idée de fond est la suivante, si l’on veut permettre à l’utilisateur de manipuler, mettons un objet Image.

On commence par détecter l’événement consistant en un appui sur le bouton de la souris : Image_MouseDown(). Cela va nous permettre d’effectuer notamment deux choses :

  • permettre à l’Image d’être cliquée-glissée. Ceci se fait au moyen de l’instruction Image.Drag
  • définir quelle tête doit avoir l’image en cours de transport par la propriété DragIcon

Ensuite, on va gérer ce qui se passe lorsque on lâche l’image glissée sur quelque chose. Ceci va se faire dans la procédure QuelqueChose_DragDrop().

On peut également gérer ce qui arrive lorsqu’on survole le contrôle Truc, dans la procédure Truc_DragOver()

Nous vous informons que ce cours constitue une œuvre protégée en France par le Code de la Propriété Intellectuelle, et à l’étranger par les conventions internationales en vigueur sur le droit d’auteur. La violation de l’un des droits d’auteur de l’œuvre est un délit de contrefaçon. Il est donc interdit, à titre privé ou public, de reproduire, copier, vendre, revendre ou exploiter, que ce soit dans un but commercial ou purement gratuit, ce cours, sauf accord exprès et préalable de son auteur.


Google
 
 RESSOURCES GRATUITES
 Caractères spéciaux
 Code Couleurs HTML
 Générateur Méta Tags
 Références HTML
 Scripts : ASP
 Scripts : Java Scripts
 PRATIQUE / OUTILS
 Salons Informatiques
 Astuces Windows
 TÉLÉCHARGEMENTS
 Utilitaires système
 Logiciels pratiques
 Jeux & démos
 INFOS SITE
 Contacts
 Mentions légales
 Qui sommes-nous ?
 PARTENAIRES
 Jeux et Jouets
 Murielle Cahen
 Cours d'anglais
 Droit NTIC
 Directeur Internet
 Australie
 Création site Internet
 VOD News
 Web Hostings