SÉRIE 3 *

 

Théorie

      Interface

    Série 1

     Série 2

       Série 3

       Série 4

. 
TESTS GRAPHIQUES 1
(Inspiré des fiches de Mme Claudette Bélanger)

.

  1. Ouvrez une nouvelle application. Nommez la feuille F_graph et initialisez le CAPTION à Tests graphiques.

  2. Placez à l’extrême gauche, en haut de votre feuille un bouton Quitter avec le code nécessaire pour quitter sans confirmation. Les autres paramètres sont laissés à votre bon goût.

  3. Ouvrez la fenêtre de code de la feuille. Utilisez l’événement PAINT. Entrez le code suivant.

Sub form_paint()
      Pset (300,300)
End Sub

  1. Observez le résultat: difficile à voir. Corrigez le code comme ci-dessous. Vous pourrez voir une différence à l'exécution.

Sub form_paint()
      DrawWidth =3      
'Grosseur du point
      Pset (300,300)
End Sub

  1. Corrigez de nouveau le code pour qu'il devienne semblable à ceci. Testez-le. Soyez patient: il faut attendre que la boucle ait fini de s'exécuter pour arrêter le programme.

Sub Form_Paint()
      Dim V_compt, V_xpos, V_ypos, V_r, V_g, V_b As Integer
      For V_compt = 1 To 150000
      V_xpos = Rnd * ScaleWidth   
'Pos x au hasard
      V_ypos = Rnd * ScaleHeight  
'Pos y au hasard
      V_r = Rnd * 255
      V_g = Rnd * 255                 
'Couleur
      V_b = Rnd * 255
      DrawWidth = 3                   
'Grosseur du point
      PSet (V_xpos, V_ypos), RGB(V_r, V_g, V_b)  
'Dessine un pixel
Next V_compt
CLS                
'Vide l'écran
End Sub

  1. Vous allez définir deux événements qui permettront d’arrêter l’application. Donnez à la feuille les propriétés suivantes.

FEUILLE: F_Graph

KEYPREVIEW True
WINDOWSTATE  Maximized
BORDERSTYLE None (Aucun)
  1. Allez dans la fenêtre de code de la feuille et choisissez l’événement KeyDown. Ajoutez le code suivant.

Sub Form_KeyDown (keycode As Integer, Shift As Integer)
      Const Key_f2 = &H71     
'Code pour la touche F2
  
    If keycode = Key_f2 Then End
End Sub

  1. Ajoutez dans l’événement MouseDown le code suivant qui permettra d’arrêter le programme si l’utilisateur clique sur la feuille (--> = même ligne).

Sub Form_MouseDown (button As Integer, Shift As Integer, X As -->
Single, Y As Single)
    If button <> 0 Then End     'Si bouton 1 ou 2 cliqué alors Fin
End Sub

  1. Modifiez le code de l’événement Paint pour utiliser une boucle Do While DoEvents() à la place de la boucle For. N'oubliez pas de changer le Next pour un Loop.

Sub Form_Paint()
      Dim V_compt, V_xpos, V_ypos, V_r, V_g, V_b As Integer
      Do While DoEvents()
          V_xpos = Rnd * ScaleWidth   
'Pos x au hasard
          V_ypos = Rnd * ScaleHeight  
'Pos y au hasard
          V_r = Rnd * 255
          V_g = Rnd * 255                 
'Couleur
          V_b = Rnd * 255
          DrawWidth = 3                   
'Grosseur du point
          PSet (V_xpos, V_ypos), RGB(V_r, V_g, V_b)  
'Dessine un pixel
      Loop
      CLS                
'Vide l'écran
End Sub

La fonction DoEvents utilise le traitement d’événement en arriêre plan.  Ce qui veut dire que notre boucle s’exécute Tant qu’un autre événement n’est pas activé.

  1. Le bouton Quitter n'est plus vraiment nécessaire. Supprimez-le. Testez l'application. Les petits points vont se reproduire tant et aussi longtemps que vous ne cliquerez pas sur la feuille ou que vous ne presserez pas F2.
  2. Sauvegardez le fichier dans VB_module3 (créez ce sous-répertoire) sous les noms E12F1xx.FRM et EX12xx.VBP

Ce site est optimisé pour Microsoft Internet Explorer en 800x600.Copyright © {2003} {ESLS - Yvon Lemay}. Tous droits réservés.

 Design by
LOGOSLAND CREATIONS