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

VB 6 et antérieur Discussion :

Boite de dialogue "Ouvrir une image" avec Aperçu


Sujet :

VB 6 et antérieur

  1. #1
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut Boite de dialogue "Ouvrir une image" avec Aperçu
    Bonjour,

    Je cherche "simplement" une boite de dialogue qui permet d'ouvrir une image, mais une ayant une partie "Aperçu" comme on en voit souvent dans les logiciels de traitement d'image ou dans Word.

    Sauriez-vous si cela existe ou si je dois la créer moi même?
    Merci d'avance
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  2. #2
    Membre habitué Avatar de muzele
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Points : 142
    Points
    142
    Par défaut
    Salut !
    Je crois bien que tu sera obligé de créer la boite de dialogue. J'ai chercher de mon côté toute les boites de dialogue connues sous windows mais je n'en vois pas une qui remplit les besoins dont tu fais part.
    Mais avec une form personnalisée à volonté, un contrôle dirlistbox, un filelistbox, un controle image et un timer tu peut en venir à bout !
    J'ai essayer de faire un truc qui ressemble à ceci:
    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
     
    Private Sub Dir1_Change()
        File1.Path = Dir1.Path
    End Sub
     
    Private Sub File1_Click()
        Timer1.Enabled = True
    End Sub
     
    Private Sub Form_Load()
        Timer1.Enabled = False
        Dir1.Path = "C:\Documents and Settings\Administrateur\Mes documents"
    End Sub
     
    Private Sub Timer1_Timer()
        Image1.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName)
    End Sub
    là maintenant faudrais juste filtrer le contenu d'affichage du filelistbox pour n'avoir que les images!
    Au chargement de la form la propriété enabled du timer est à false !
    Le savoir est la seule matière qui s'acroît lorsqu'on la partage !

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonsoir,

    Je partage l'opinion de Muzele sur la nécessité de faire sa propre boîte.

    Il n'est cependant nullement nécessaire d'utiliser un Timer, dans cette affaire-là, quelle que soit la méthode utilisée pour explorer et choisir un fichier dans un dossier !

    Une telle boîte est simple à mettre en oeuvre et je ne doute pas une seule seconde de ce que avigeilpro saura en faire une sans aucun problème, quelle que soit la méthode d'affichage choisie pour l'aperçu (API ou méthode VB).

    Bonne continuation...

  4. #4
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    En effet, cela n'est pas très compliqué de faire un aperçu, j'en ai déja fait un dans le reste de mon appli (programme faisant tourner des images en fond d'écran). Je voulais juste avoir aussi un aperçu lors de la selection des images, et comme je suis un peu faignant mais merci quand meme pour la proposition de code

    ps : je pense que le timer est necessaire si on souhaite un rafraichissement de l'image
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Ben...
    Si tu es fainéant (comme moi, donc...) :

    ===>>> envoie donc l'exécution de Exploreur.exe (tu as ce qu'il faut chez toi, je te l'ai déjà rappelé, non ?) directement sur ta feuille .... et tu profiteras ainsi de l'aperçu qu'il offre !

    Bonne continuation ....

  6. #6
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    saurait été une solution, mais bon, je me suis quand meme décidé.
    Voici donc (pour ceux qui pourrait etre interressé) comment faire une boite de dialogue avec aperçu :
    Sur une feuille, on pose : 1 DriveListBox, 1 DirListBox, 1FileListBox, 1 PictureBox et 1 Image dans le Picturebox.
    Enfin on met le code suivant :
    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
    Private Sub Dir1_Change()
    File1.Path = Dir1.Path
    End Sub
     
    Private Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
    End Sub
     
    Private Sub File1_Click()
    Dim Ratio As Single
    Image1.Stretch = True
     
    'charge l'image
    Image1.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName)
     
    'memorise le ratio Hauteur/Largeur de l'image
    Ratio = Image1.Picture.Height / Image1.Picture.Width
     
    'Dimensionne l'image au maximum dans la boite en gardant les proportions
    If Ratio * Picture1.Width > Picture1.Height Then
        Image1.Height = Picture1.Height
        Image1.Width = Image1.Height / Ratio
    Else
        Image1.Width = Picture1.Width
        Image1.Height = Image1.Width * Ratio
    End If
     
    'place l'image au centre du cadre
    Image1.Top = (Picture1.Height - Image1.Height) / 2
    Image1.Left = (Picture1.Width - Image1.Width) / 2
    End Sub
     
    Private Sub Form_Load()
    File1.Pattern = "*.bmp;*.jpg;*.gif"
    End Sub
    La taille de l'aperçu ne dépend que de la taille du PictureBox

    Et voilou

    (j'y pense, on pourrait mettre ca quelque part dans la FAQ, non ?)

    merci pour vos réponses
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Re...

    Utilise donc une stdPicture et affranchis-toi de la PictureBox (tu connaitras ainsi les dimensions réelles du graphique, pourras calculer le ration largeur/hauteur, et libérer immédiatement la mémoire occupée par la stdPicture).
    Amitiés
    Bonne nuit

  8. #8
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    désolé, j'ai oublié de préciser :
    La picturebox ne sert strictement à rien, j'utilise le controle Image pour connaitre le ratio (qui, lui, est necessaire). La picturebox n'est la que pour délimiter une zone, un cadre pour l'aperçu. Elle peut etre remplacée par tout autre composant ayant une forme rectangulaire. C'est juste pour faire plus joli

    Merci pour tes conseils et bonne nuit aussi
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  9. #9
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Bonjour avigielpro

    Je sais que le sujet est clos, mais je suis tombé sur ce code qui pourrais t'interesser et qui reponds à la question posée de façon magistrale
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  10. #10
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Merci Delbeke, ca à l'air génial, mais savoir si c'est juste chez moi ou si c'est normal, je n'ai que l'aperçu des fichiers texte et aucun aperçu de fichier graphique. Peut-être est-ce dû au fait que je travail sous Windows 2000 ?
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  11. #11
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Chez moi ca marche parfaitement (XP)
    Dans la boite de dialogue, tu choisis bien fichiers graphiques dans le selecteur de type de fichier ?
    J'ai un peu pioché dans le code. la zone de previsu est un richtextbox, ce qui va bien avec les fichiers textes, on sert sert du clipboard pour coller dedans l'image du fichier chargé (loadpicture)
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  12. #12
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    J'ai tout essayé, meme d'attendre plusieurs minutes des fois que le chargement serait long, je n'ai pas encore eu le temps de jeter un oeil au code pour voir ce qui n'allait pas. Ca serait dommage qu'elle ne fonctionne pas chez moi car c'est une "vraie" boite de dialogue
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouvrir boite de dialogue à partir d'une autre
    Par Anibel dans le forum jQuery
    Réponses: 0
    Dernier message: 09/05/2013, 15h28
  2. Ouvrir une image dans l'aperçu d'image windows
    Par codial dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 18/04/2013, 14h47
  3. Ouvrir une image au hasard
    Par rpoulin dans le forum Langage
    Réponses: 4
    Dernier message: 25/03/2006, 22h34
  4. [VBA-E]Ouvrir une image jpg àl'aide d'une macro
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2006, 09h47
  5. Ouvrir une image avec paint depuis un formulaire
    Par gui38 dans le forum Access
    Réponses: 3
    Dernier message: 14/11/2005, 16h40

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