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

Windows Forms Discussion :

vs 2008 - coller une image dans un cadre


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 43
    Par défaut vs 2008 - coller une image dans un cadre
    Bonjour,

    Toujours en pleine découverte de VS 2008, j'aimerai savoir s'il existe un contrôle de type "textbox" mais pour les images.

    A priori d'après mes essais (une fois généré) il est possible de coller un texte dans un contrôle textbox.

    J'ai essayé avec picturebox, mais dans ce cas coller une image n'est pas possible et avec RichTextBox il me place une zone image, mais ne l'affiche pas.

    Existe t-il un contrôle particulier pour cette fonction ou faut-il associer des propriétés particulières?

    Nota: Mon objectif est de créer un exécutable dans lequel se trouveraient plusieurs cadres prédéfini où mes élèves n'auraient plus qu'à coller des images, avec la possibilité de les redimensionner par les poignées sans pouvoir dépasser les limites des cadres.

    Merci d'avance,
    Pascal.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    PictureBox ne gère pas le copier/coller, mais c'est pas très difficile à gérer soi-même...

    Vu le forum dans lequel tu as posté, je sais pas dans quel langage tu le veux, donc je te le mets en C# :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Coller :
    if (Clipboard.ContainsImage())
    {
        picBox.Image = Clipboard.GetImage();
    }
     
    // Copier : 
    if (picBox.Image != null)
    {
        Clipboard.SetImage(picBox.Image);
    }

    Pour le redimensionnement, c'est un peu plus compliqué, il va falloir gérer ça manuellement avec les évènements de la souris...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 43
    Par défaut
    Merci c'est bien ce principe que je recherche, mais en Visual Basic si c'est possible. (express edition)

    Pour le redimensionnement, j'ai trouvé la valeur strechimage qui si elle ne me permet pas le redimensionnement par des poignées permet tout de même l'optimisation du cadre. A la limite c'est peut être mieux pour un document où il doit y avoir peu de manipulations.

    Question: comment faire pour lancer la commande coller par exemple?
    Est-il possible de placer un bouton, dans la zone picturebox, qui s'effacera après l'exécution?

    Pascal

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par pascalh4 Voir le message
    Merci c'est bien ce principe que je recherche, mais en Visual Basic si c'est possible. (express edition)
    Même si tu ne connais pas le langage C#, je pense que le code est assez facile à traduire en VB.NET
    (les classes et méthodes à utiliser sont les mêmes qu'en C#)

    Question: comment faire pour lancer la commande coller par exemple?
    Est-il possible de placer un bouton, dans la zone picturebox, qui s'effacera après l'exécution?
    Tu peux mettre un bouton sur la PictureBox, et le cacher (Visible=false) quand l'image sera collée. Tu peux aussi gérer le raccourci "Ctrl-V" (avec l'évènement KeyDown) pour effectuer le collage

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 43
    Par défaut
    J'ai essayé ce qui suit, à priori je n'ai pas de message d'erreur mais rien ne s'affiche après avoir cliqué sur le bouton.(il y avait bien une image en attente de la commande)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If Clipboard.ContainsImage() Then PictureBox1.Image = Clipboard.GetImage
        End Sub
    End Class
    Je suis vraiment en pleine découverte de ce qu'il faut faire.

    j'ai essayé de l'écrire autrement,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Class Form1
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Clipboard.ContainsImage()
            PictureBox1.Image = Clipboard.GetImage
        End Sub
    End Class
    mais sans réponse également.

    concernant le bouton PictureBox la propriété (visible=false) me l'efface avant l'action et le rend par conséquent inopérant.

    Enfin pour l'évènement KeyDown je ne sait pas du tout comment procéder pour lui associer une commande. Puis je avoir des informations plus détaillées.

    Je suis désolé de paraître aussi niais, mais ce sont mes tous débuts en programmation. Au lieu de suivre simplement les directives du manuel que je lis et qui me propose des constructions ne me concernant que très peu, j'essaye en parallèle d'élaborer un projet plus concret à mes yeux.

    Je ne sais pas par ailleurs si je suis dans le bon forum puisque j'essaye seulement pour l'instant d'utiliser le visual basic.

    Pascal

  6. #6
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Pour le ClipBoard, sa fonction ContainsImage() retourne un booléen, donc tu dois l'utiliser dans un if afin de savoir si il contient une image ou non.

    Et ensuite tu récupère l'image en question via la méthode GetImage(), ce qui devrait donner ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Clipboard.ContainsImage() 
    Then 
    PictureBox1.Image = Clipboard.GetImage()
    Ensuite, tu pourrais placer un point d'arrêt sur le if (on le place en faisant un clic-droit sur la ligne voulue -> point d'arrêt -> insérer un point d'arrêt). Lorsque tu exécutera l'application, l'exécution s'arrêtera sur cette ligne. Puis tu pourras appuyer sur F10 afin de continuer l'exécution ligne par ligne et voir quel bout de code est réellement exécuter.
    Tu pourras ainsi savoir si le PictureBox1.Image = Clipboard.GetImage() est exécuté ou non.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

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

Discussions similaires

  1. Faire glisser une image dans un cadre avec la souris
    Par fab76000 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/11/2008, 12h38
  2. Coller une image dans une cellule
    Par nikko_54 dans le forum Word
    Réponses: 2
    Dernier message: 04/06/2008, 14h40
  3. afficher une image dans un cadre
    Par devin59 dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 15/03/2008, 22h31
  4. [HTML] Superposer un fichier VML à une image dans un cadre
    Par Z3c33 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/03/2008, 12h47
  5. Comment écrire sur une image, dans un cadre ?
    Par Nutrino dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/05/2005, 00h55

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