Graphiques
 
- Dégradé
- Animations BitBlt
- Animations Pic
- Contrôle Animation
- Défilement d'image
 
Interface
 
- Barre d'outils
- Barre de progression
- Clignotement
- Interface MDI
- Barre d'état
 
Texte & système
 
- Texte sur image
- Taille variable
- Informations système
 
Fichiers
 
- Grand fichier
- Choix de police
- Dictionnaire Word
- Listes
- Fichiers binaires
 
Souris et touches
 
- Curseur animé
- Touches
 

Défilement d'image
Ce dernier exercice de la section Graphiques vous apprendra comment faire défiler de façon continue une image dans une zone plus petite qu'elle. Pour réaliser ce travail, vous aurez besoin de l'image Fantastique.jpg que vous devez télécharger de la façon habituelle.
  1. Créez d'abord un nouveau projet que vous sauvegardez sous le nom Ex_5xx.vbp.
  2. Attribuez à la feuille un nom respectant les règles apprises précédemment. Inscrivez Défilement dans la propriété CAPTION.
  3. Ajoutez un  premier contrôle Zone d'image ( PictureBox) sur la feuille. Voici quelques propriétés que vous devez changer: NAME = Im_Grande,  HEIGHT = 9120, WIDTH = 6735, PICTURE = Fantastique.jpg, VISIBLE = False. Placez cette image du côté droit de la scène.
  4. Ajoutez un second contrôle Zone d'image (PictureBox) dont les propriétés suivantes auront été changées: NAME = Im_Petite, HEIGHT = 1935, WIDTH = 2055. Placez-le dans le coin supérieur gauche.
  5. Placez ensuite un contrôle Barre de défilement vertical (VScrollbar) à droite de la petite zone d'image. Nommez-la Dv_Droite. Sa propriété HEIGHTt doit être réglée à 1935, comme la zone. Il ne doit pas se trouver au-dessus de la grande image.
  6. Continuez avec une Barre de défilement horizontal (HScrollbar) en dessous de la petite zone d'image. Nommez-la Dh_Dessous. Ici, c'est la propriété WIDTH qu'il faut régler à 2055. Voici à quoi devrait ressembler votre feuille à ce stade-ci.

  1. Ajoutez d'abord la procédure Dessine_IM_Petite() comme ci-dessous. Notez que les propriétés SCALDEWIDTH et SCALEHEIGTH qui renvoient les mesures horizontales et verticales d'un objet sont utilisées

Private Sub Dessine_IM_Petite()  'Effectue la mise à jour de la petite zone
   Im_Petite.PaintPicture Im_Grande.Picture, 0, 0, Im_Petite.ScaleWidth, _           
   Im_Petite.ScaleHeight, Dh_Dessous.Value, Dv_Droite.Value, _
   Im_Petite.ScaleWidth, Im_Petite.ScaleHeight, _
   vbSrcCopy 
'Copie de la section source de la grande image
End Sub

  1. Double-cliquez sur la barre de défilement Dv_Droite et complétez la procédure comme ci-dessous.

Private Sub Dv_Droite_Change()  'Réaction au changement d'état de Dv_Droite
   Dessine_IM_Petite
End Sub

  1. Ajoutez une procédure Dv_Droite_Scroll identique à celle qui suit.

Private Sub Dv_Droite_Scroll()  'Appel de la procédure Dv_Droite_Change
   Dv_Droite_Change
End Sub

  1. Il faut effectuer les mêmes opérations avec Dh_Dessous. Les procédures seront dentiques à celles-ci.

Private Sub Dh_Dessous_Change()  'Réaction au changement de Dh_Dessous
   Dessine_IM_Petite
End Sub

Private Sub Dh_Dessous_Scroll()  
'Appel de la procédure Dh_Dessous_Change
   Dh_Dessous_Change
End Sub

  1. Il ne reste plus qu'à initialiser les propriétés dans la procédure de chargement de la feuille comme ci-dessous.

Private Sub Form_Load() 
  
'Initialisation des limites de Dh_Dessous
   Dh_Dessous.Max = IM_Grande.ScaleWidth - IM_Petite.ScaleWidth
   Dh_Dessous.LargeChange = Dh_Dessous.Max \ 10
   Dh_Dessous.SmallChange =Dh_Dessous.Max \ 25

   'Initialisation des limites de Dv_Droite
   Dv_Droite.Max = IM_Grande.ScaleHeight - IM_Petite.ScaleHeight
   Dv_Droite.LargeChange = Dv_Droite.Max \ 10
   Dv_Droite.SmallChange = Dv_Droite.Max \ 25
End Sub

  1. Pour terminer, réglez les dimensions de la feuille comme suit: HEIGHT = 3200, WIDTH = 2900. Enregistrez le tout et expérimentez le résultat de votre travail.

Application:

  • À votre tour de jouer. Trouvez une image de grande dimension et faites-la défiler dans une zone plus petite. Enregistrez votre travail sous le nom  Ex_5bxx.vbp

 

Création d'aide
 
- À propos
- Astuce du jour
 
Cryptage
 
- Mot de passe
- Cryptage de fichier
 
Base de données
 
- Bibliothèque
 
Winsock
 
- Serveur de chat
- Client de chat 1
- Client de chat 2
 
Jeu d'arcade
 
- Interface
- Programmation 1
- Programmation 2
- Programmation 3
- Programmation 4
 
Navigateur WEB
 
- Interface 1
- Interface 2
- Interface 3
- Interface 4
- Programmation 1
- Programmation 2
- Programmation 3
- Programmation 4
© Copyright 2002 - Design : Webmasters-fr.net