1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| Private Sub Form_Current()
' L'événement Activation (Current) se produit lorsque le focus passe à un enregistrement
' donné pour en faire l'enregistrement en cours, ou lorsque le formulaire est
' Actualisé ou en Actualisation.
' si le nom du salarié est non vide : on visualise un enregistrement
' sinon cela indique que nous sommes sur un enregistrement vierge, donc en cours de saisie.
' Me.Caption : gère le titre du formulaire.
If Len(Me.Nom_fichier) > 0 Then
Me.Caption = "Détails pour le salarié : " & Me.Nom_fichier
Else
Me.Caption = "Saisie d'un nouveau salarié"
End If
' Gestion des erreurs
On Error GoTo Catch02
' si la photo n'est pas définie, on affiche la photo blank.jpg
' CurrentProject.Path : est le chemin de l'application
If Len(Me.Imgphoto) > 0 Then
Me.Imgphoto.Picture = Me.Imgphoto
Else
Me.Imgphoto.Picture = CurrentProject.Path & "\icone\Sans titre.jpg"
End If
DisplayPhoto
Exit Sub
Catch02:
Select Case Err.Number
Case 2114
'Cas d'un type de fichier photo non supporté ...
MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
Me.Imgphoto.Picture = CurrentProject.Path & "\icone\Sans titre.jpg"
Me.Imgphoto = vbNullString
Case 2220
'Cas d'un emplacement non valide du fichier image
MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _
Me.Imgphoto, vbCritical + vbOKOnly, "Application Photos"
Me.Imgphoto.Picture = CurrentProject.Path & "\icone\Sans titre.jpg"
Me.Imgphoto = vbNullString
Case Else
' tout autre cas d'erreur
MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
End Select
Err.Clear
End Sub
Sub DisplayPhoto()
' Traitement en fonction de la taille de l'image
' regarde si la hauteur de l'image dépasse celle du controle Picture
If Me.Imgphoto.ImageHeight > Me.Imgphoto.Height Then
' met le controle en mode zoom
Me.Imgphoto.SizeMode = 3
Else
' met le contrôle en mode respect de la taille originale
Me.Imgphoto.SizeMode = 0
End If
' si la largeur dépasse et qu'on est en mode taille réelle ...
If (Me.Imgphoto.ImageWidth > Me.Imgphoto.Width) And (Me.Imgphoto.SizeMode) = 0 Then
' on met en mode zoom
Me.Imgphoto.SizeMode = 3
End If
End Sub
Private Sub cmdDelete_Click()
' Bouton de commande d'effacement de la photo
' supprime l'adresse de la photo
Me.Imgphoto = vbNullString
' affiche l'image blank.jpg
Me.Imgphoto.Picture = CurrentProject.Path & "\icone\sans titre.jpg"
' redimensionne la photo
DisplayPhoto
End Sub
Private Sub cmdPhoto_Click()
' Bouton d'ajout - modification de photo
Dim strLink As String
' Gestion des erreurs
On Error GoTo Catch01
' récupération du chemin physique de la photo
' par la boite de dialogue
strLink = OuvrirUnFichier(Me.Hwnd, _
"Sélectionner une photo pour le salarié " & Me.NomFichier, _
1)
' si la boite renvoie une adresse non nulle
If Len(strLink) > 0 Then
' tentative d'affichage de la photo
Me.Imgphoto.Picture = strLink
Me.Imgphoto = strLink
End If
DisplayPhoto
Exit Sub
Catch01:
Select Case Err.Number
Case 2114
'Cas d'un type de fichier photo non supporté ...
' on sort de la procédure
MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos"
Exit Sub
Case 2220
'Cas d'un emplacement non valide du fichier image
MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _
Me.Imgphoto, vbCritical + vbOKOnly, "Application Photos"
Exit Sub
Case Else
' tout autre cas d'erreur
MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
End Select
Err.Clear
End Sub |
Partager