La feuille frmParent

Voici une vue de la construction de la feuille "frmParent"

Image non disponible

J'ai utilisé pour cela les "Panels" fournis avec le contrôle "Threed32.ocx", de gauche à droite nous apercevons les Panels, positionnés sous les boutons.
J'ai expressement laissé les noms respectifs sous certains objets à titre indicatif.

J'ai utilisé les boutons 3D qui vont nous permettre de positionner les images que vous pouvez télécharger si vous souhaitez les utiliser.

Dans le cas contraire, vous pouvez positionner les images de votre choix. ou copier les images à partir de cette planche : Image non disponible

Nous allons codifier les feuilles déjà construites, à savoir la feuille "frmParent" et ensuite la feuille "frmChild"

Saisie du code des objets issus de La feuille frmParent :
Nous allons tout d'abord codifier les étiquettes de la barre de menu.

I-1. Menu Fichier

./images/but_files.gif Nous avons créé dans cette étiquette 4 procédures qui sont :
1 - Créer une base de données (mnu_MakeFile)
2 - Supprimer une base de données (mnu_DelFile)
3 - Ouvrir (mnu_FileOpen)
4 - Quitter (mnu_Exit)

Codification de ces procédures :

Créer une base de données
Sélectionnez

Private Sub mnu_MakeFile_Click( )
    'Crée une base de données de films vidéo
    frmMakeFile.Show 1
End Sub
Supprimer une base de données
Sélectionnez

Private Sub mnu_DelFile_Click( )
     'Efface base de données
     frmDelFile.Show 1
End Sub
Ouvrir
Sélectionnez

Private Sub mnu_FileOpen_Click( )
     'Dialogue d'ouverture de fichiers graphiques à afficher
     frmFileOpen.Show 1
End Sub
Quitter
Sélectionnez

Private Sub mnu_Exit_Click( )
     Titre = "Attention"
     Message = "Souhaitez vous quitter Video_K7 ?"
     Reponse = MsgBox(Message, 32 + 4, Titre)
     If Reponse = 6 Then End
End Sub

I-2. Menu Aide

./images/but_aide.gif Nous avons créé dans cette étiquette 2 procédures qui sont :
1 - Aide à la création (mnu_Aide1)
2 - Aide à la saisie (mnu_Aide2)
Aide à la création
Sélectionnez

Private Sub mnu_Aide1_Click( )
    'Appel de la feuille d' aide par la procédure "FileMsg"
    FileMsg "FileMsg.txt", 1
End Sub
Aide à la saisie
Sélectionnez

Private Sub mnu_Aide2_Click( )
    'Appel de la feuille d' aide par la procédure "FileMsg"
    FileMsg "FileMsg.txt", 2
End Sub

I-3. Menu Infos

./images/but_infos.gif Nous avons créé dans cette étiquette 2 procédures qui sont :
1 - Infos générales (mnu_Infos)
2 - A propos de... (mnu_About)
Infos générales
Sélectionnez

Private Sub mnu_Infos_Click( )
    'Appel de la feuille d' aide par la procédure "FileMsg"
    FileMsg "FileMsg.txt", 4
End Sub
A propos de...
Sélectionnez

Private Sub mnu_About_Click( )
    'Appel de la feuille About par la Méthode Show
    frmAbout.Show 1
End Sub

I-4. Codifier les InfosBulles

./images/img_panel1.gif Dans le premier Panel nous trouvons 3 boutons, à savoir :
1 - Création d'une base de données
2 - Ouvrir une base de données
3 - Détruire une base de données

Avant de coder ces procédures, puisque les particularités de Visual Basic 6.0 nous permettent d'installer des "Infos Bulles", pourquoi s' en priver ?
Dans la feuille de propriétés du premier bouton et à l'étiquette "ToolTipText", nous écrivons : Création d'une base de données
Dans le deuxième bouton, nous écrivons : Ouvrir une base de données
Dans le troisième bouton : Détruire une base de données

Vous pouvez renseigner les infos-bulles (ToolTipText) de tous les objets qui engendrent des événements provoqués par l'utilisateur.

./images/infosbulles.gif Voila ce que vous devez obtenir en positionnant votre curseur de votre souris sur le premier bouton. du premier Panel.

II. Saisie du code des Objets issus de la feuille frmParent

II-1. Premier Panel

Je ne vous rappelle pas que pour ouvrir la feuille des propriétés, vous devez appuyer sur la touche F4 de votre clavier, car...vous le savez!

A ce stade nous allons renommer tous les boutons afin de pouvoir les reconnaître si nous avons à rechercher une procédure distincte.
Modifiez la propriété de chaque objet comme suit : (faire et défaire, c'est toujours programmer)

 
Sélectionnez

Private Sub SSCommand1_Click( ) devient : cmdCreat
     'Créer une base de données
     frmMakeFile.Show 1
End Sub

Private Sub SSCommand2_Click( ) devient : cmdOpen
     'Ouvrir une base de données
     mnu_FileOpen_Click
End Sub

Private Sub SSCommand3_Click( ) devient : cmdErase
     'Efface base de données
     frmDelFile.Show 1
End Sub

II-2. Deuxieme Panel

 
Sélectionnez

Private Sub SSCommand4_Click( ) devient : cmdCascade
     'Fenêtres superposées et décalées
     frmParent.Arrange 0
End Sub

Private Sub SSCommand5_Click( ) devient : cmdHorTile
     'Fenêtres en mosaïque verticale
     frmParent.Arrange 2
End Sub

Private Sub SSCommand6_Click( ) devient : cmdTile
     'Fenêtres en mosaïque verticale
     frmParent.Arrange 1
End Sub

Private Sub SSCommand7_Click( ) devient : cmdIconArrange
     'Arrange les icônes
     frmParent.Arrange 3
End Sub

Private Sub SSCommand8_Click( ) devient : cmdClose
     'Appelle la procédure de fermeture de toutes les fenêtres filles
     CloseAll
End Sub

II-3. Troisieme Panel

Le premier Panel aura comme valeur de propriétés :
Name : Panel3d8
Caption : 00:00:00

Le second Panel aura comme valeur de propriétés :
Name : Panel3d4
Caption : 00/00/0000

Ce bouton permet d' afficher ou de masquer par sa propriété "Visible" le Panel qui indique l'heure
Les Panels incrustés dans le Panel principal devront être renommés, nous lui donnerons comme propriétés :

Premier bouton :
Sélectionnez

Private Sub SSCommand9_Click( ) devient : cmdTime
     If Indicateur = 0 Then
     Panel3d9.Visible = True
     Indicateur = 1
Else
     Panel3d9.Visible = False
     Indicateur = 0
     End If
End Sub
Deuxième bouton :
Sélectionnez

Private Sub SSCommand10_Click( ) devient : cmdHelp
     'Info
     mnu_Infos_Click
End Sub

Pour ne pas engendrer des erreurs, nous allons télécharger le fichier texte à insérer dans le répertoire de travail de Vidéok7, ainsi que le module nécessaire à l'affichage de ce fichier par Visual Basic. Télécharger les fichiers

II-4. Ecriture de la procédure Form_Load dans le fichier MDI

 
Sélectionnez

Private Sub MDIForm_Load( )
     'Ajuster le pointeur de souris
     Screen.MousePointer = 0
     'Répertoire de travail = répertoire du programme
     ChDir App.Path
     'Centrage de la feuille à l' écran
     CenterForm  frmParent
     'Afficher la feuille et la positionner dans la dimension de l' écran   
     Me.WindowState = 2
     'Affichage de l'heure et de la date
     Panel3d9.Caption = Time
     Panel3d4.Caption = Date
     'Initialise base de données et descriptifs
     InitFiles
End Sub

Attention, le fait d'avoir renommé les objets sus-indiqués a transféré toutes les procédures dans la fenêtre "Général - Déclarations" de la feuille "frmParent", vous devez les éliminer impérativement.
Cela mettra un peu d'ordre dans notre projet, éliminons les procédures superflues.

./images/files_codes.gif Voici ce que vous devez avoir dans la feuille "frmParent" et dans la procédure "Déclarations"

A ce stade de l'évolution de votre projet, si vous cliquez sur un objet alors que celui-ci contient une procédure qui engendre un événement qui ne pointe sur rien générera automatiquement une erreur.
Vous pouvez, à titre pédagogique, insérer une routine d'erreur, tout en sachant que lorsque nous aurons créé et codifié l'objet, ce type d'erreur ne se produira plus.

Un peu de patience, vous êtes sur la bonne voie, la voie qui vous mène sur le chemin du savoir et de la connaissance.

Prochain tutoriel :

Dans la prochaine leçon, nous écrirons le code d'action de la feuille "frmMakeFile"