IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

image dans un form continu


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 14
    Points
    14
    Par défaut image dans un form continu
    bonjour
    j'essai de construire un form en mode continu qui affiche une image pour chaques enregistrement (le nom de l'image est contenu dans une table)

    je fais un procedure vb du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
    photo.Picture = "d:\photo\" & txtdossier & "\" & txtnom
    End Sub
    et cela m'affiche la meme image partout
    merci

  2. #2
    Membre averti Avatar de temar
    Profil pro
    Étudiant
    Inscrit en
    Août 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2004
    Messages : 316
    Points : 300
    Points
    300
    Par défaut
    Salut !

    J'avais récupérer ce code très bien sur internet. Il me sert pour un appli de vidéothèque, pour afficher la jaquette de la vidéo. J'ai mis ça dans un module, et j'appelle la fonction dans le Form_Current de mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    'pour afficher la jaquette d'une vidéo
    Sub afficheImage(formulaire As Form)
     
    'gestion des erreurs
    On Error GoTo Err_afficheImage
     
        ' si la jaquette n'est pas définie, on affiche l'image blank.jpg
        ' CurrentProject.Path : est le chemin de l'application
     
        If Len(formulaire.txtJaquetteVideo) > 0 Then
            formulaire.imgJaquetteVideo.Picture = formulaire.txtJaquetteVideo
        Else
            formulaire.imgJaquetteVideo.Picture = CurrentProject.Path & "\jaquettes\blank.jpg"
        End If
     
        ' Traitement en fonction de la taille de l'image
     
        ' regarde si la hauteur de l'image dépasse celle du controle Picture
        If formulaire.imgJaquetteVideo.ImageHeight > formulaire.imgJaquetteVideo.Height Then
            ' met le controle en mode zoom
            formulaire.imgJaquetteVideo.SizeMode = 3
        Else
            ' met le contrôle en mode respect de la taille originale
            formulaire.imgJaquetteVideo.SizeMode = 0
        End If
     
        ' si la largeur dépasse et qu'on est en mode taille réelle ...
        If (formulaire.imgJaquetteVideo.ImageWidth > formulaire.imgJaquetteVideo.Width) And (formulaire.imgJaquetteVideo.SizeMode) = 0 Then
            ' on met en mode zoom
            formulaire.imgJaquetteVideo.SizeMode = 3
        End If
     
    Exit_afficheImage:
        Exit Sub
     
    Err_afficheImage:
        Select Case err.Number
               Case 2114
                    'Cas d'un type de fichier image non supporté ...
                    Call messageCritique("Le format de l'image n'est pas supporté", err.description, err.Number, "Gestion d'une vidéothèque")
                    formulaire.imgJaquetteVideo.Picture = CurrentProject.Path & "\jaquettes\blank.jpg"
                    formulaire.txtJaquetteVideo.SetFocus
     
                Case 2220
                    'Cas d'un emplacement non valide du fichier image
                    Call messageCritique("Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & formulaire.txtJaquetteVideo, err.description, err.Number, "Gestion d'une vidéothèque")
                    formulaire.imgJaquetteVideo.Picture = CurrentProject.Path & "\jaquettes\blank.jpg"
                    formulaire.txtJaquetteVideo.SetFocus
                Case Else
                    ' tout autre cas d'erreur
                    If err.Number <> 0 Then
                        Call messageCritique("Erreur inattendue :", err.description, err.Number, "Gestion d'une vidéothèque")
                    End If
        End Select
    End Sub
    En espérant que ça puisse t'aider...

    Bon courage

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    je te remercie de ta reponse rapide, je vais tester tout ca et je te dit si ca la fait ou pas
    mais en attendant merci beaucoup

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    helas non ca ne va pas, ca ne me permet pas d'afficher des images differentes sur les section detail d'un formulaire continu
    merci

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    j'ai essayer le tuto de cafeine , joli travail d'ailleur mais ca ne repond pas réelement a mes attentes.
    j'ai pas mal galeré par contre pour trouver les nom d'objets sur le tuto, mais sinon bravo

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,
    Citation Envoyé par nowick
    j'essai de construire un form en mode continu qui affiche une image pour chaques enregistrement (le nom de l'image est contenu dans une table)
    [...] et cela m'affiche la meme image partout
    Eh oui ! C'est inhérent aux contrôles indépendants qui sont affichés dans un formulaire en mode continu.

    Si tu veux vraiment obtenir le résultat tant attendu, tu n'as pas le choix:
    (1) la table doit contenir un champ OLE qui recevra un objet OLE lié (de préférence) avec une classe d'objet qui permet l'affichage (ex. Photo Editor)
    (2) dans le formulaire, utiliser un contrôle "cadre d'objet dépendant" dont la source est le champ mentionné au point (1).

    J'imagine que d'autres questions vont suivre ...

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    alors je viens d'essayer
    j'ai creer un champ de type ole
    j'ai fait glisser quelques photos (jpg)
    j'ai ensuite construit un form avec un controle dependant
    mais je n'ai pas l'image mais son nom si je double clique dessus
    cette fois mon image s'ouvre, mais en dehors d'access
    j'ai essayer avec un controle independant mais pas de changement
    au passage je voie pas trop la differrence entre le dependant et l'autre

    j'utilise access 2003.
    merci

    qu'entend tu par ole lié de preference?

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Pour commencer, un lien vers la FAQ DCOM / OLE de (Christian Casteyde): http://www.developpez.com/windows/dcom/t1.html

    Précisions importantes pour travailler avec des objets [Document OLE]:
    Pour éviter les ambiguïtés avec les différentes terminologies OLE/COM, il vaut mieux parler de Document OLE.
    L'insertion d'un Document OLE peut se faire:
    * soit directement dans une feuille de données,
    * soit dans un contrôle affiché en mode formulaire (continu ou non) au moyen d'un contrôle [Cadre d'objet {in}dépendant].

    Entre autres avantages, le contrôle [Cadre d'objet {in}dépendant] permet:
    * de contrôler la manière dont le document OLE est inséré: incorporation ou liaison;
    * d'afficher une image redimensionnable du Document OLE;
    * de contrôler la manière d'activer le Document OLE, pour le modifier.

    Citation Envoyé par nowick
    qu'entend tu par ole lié ?
    Dans le cas d'un Document OLE incorporé, les données du Document OLE sont stockés dans le "container" du Document OLE: dans le cas qui nous intéresse, les données sont stockées dans le champ [Objet OLE].

    Dans le cas d'un Document OLE lié, les données du Document OLE restent stockées dans un fichier, auquel le Document OLE fait toujours référence.

    Un Document OLE lié n'est pas stocké dans la base Access (table, ou formulaire, ou état...) ce qui évite de la faire grossir déraisonnablement.

    Citation Envoyé par nowick
    au passage je voie pas trop la differrence entre le dependant et l'autre
    Le contrôle [Cadre d'objet dépendant] stocke les données du Document OLE (ou les données de laison) dans un champ Objet OLE d'une table d'Access.

    Le contrôle [Cadre d'objet indépendant] stocke les données du Document OLE (ou les données de laison) dans le Formulaire (ou l'état) qui contient ce contrôle..

    Citation Envoyé par nowick
    j'ai creer un champ de type ole
    j'ai fait glisser quelques photos (jpg)
    j'ai ensuite construit un form avec un controle dependant
    mais je n'ai pas l'image mais son nom si je double clique dessus
    cette fois mon image s'ouvre, mais en dehors d'access
    MES CONSEILS
    Jamais de tirer-lâcher de Document OLE à partir de l'explorateur Windows ou de ses composants (par exemple le Bureau Windows).
    L'Explorateur Windows encapsule le Document OLE à l'intérieur d'un autre Document OLE appelé Package (ou encore Ensemble OLE).
    Un incovénient du Package est qu'il ne donne pas accès à l'image du Document OLE qu'il incorpore.

    Pour désigner directement un fichier, utiliser la commande [Insérer Objet...] du menu [Insertion] d'Access.
    Si vous travaillez avec le programme qui génère le Document OLE (ex. Word, Excel, Photo Editor...), vous pouvez utiliser la fonctionnalité Copier/Coller qui prend automatiquement en charge les Documents OLE. Dans Access, utilisez la commande [Collage spécial] du menu [Edition].

    Travailler dans un contrôle [Cadre d'ojet {in}dépendant] plutôt que directement dans la feuille de données.
    Paramétrer ce contrôle pour qu'il affiche une image du Document OLE, à la place d'une icône (propriété Type d'affichage=Contenu).

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 27
    Points : 14
    Points
    14
    Par défaut
    je te remerci beaucoup pour toutes ces precisions tres clair, je n'ai plus qu'a essayer tout ca , je te remerci beaucoup pour ta clarté
    ole est assez flou pour moi et grace a tes explications je commence a y voir plus clair.
    merci

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/05/2007, 15h31
  2. Réponses: 4
    Dernier message: 30/04/2007, 23h46
  3. image dans une form
    Par myspirou dans le forum C++Builder
    Réponses: 4
    Dernier message: 22/04/2006, 20h07
  4. Réponses: 2
    Dernier message: 05/04/2006, 11h43
  5. [VB.NET] image dans un form
    Par babemagus dans le forum Windows Forms
    Réponses: 13
    Dernier message: 13/12/2005, 14h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo