Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : rectangle de selection [ Divers / Débutants ] (plano)

samedi 20 septembre 2008 à 19:57:07 | rectangle de selection

plano

Bonjour à tous et à toutes!
Voila ma question!
Je voudrais créer un rectangle de sélection dans un picturebox!
Quelqu'un pourrait il m'aider?
Je vous en supplie  lol !!!
Merci d'avance.

dimanche 21 septembre 2008 à 00:30:13 | Re : rectangle de selection

ciberrique

Bonjour, voici une solution possible,

crée un nouveau projet et dedans met un picture box nommé Picture1, voici le code à insérer dans la form :

Option Explicit

Dim oldX As Integer, oldY As Integer
Dim SavePic As PictureBox

Private Sub Form_Load()
    Set SavePic = Picture1
    Picture1.AutoRedraw = True
    Picture1.BackColor = vbWhite
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        SavePic.Picture = Picture1.Picture
        oldX = X
        oldY = Y
    End If
End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        Picture1.Picture = SavePic.Picture
        Picture1.Line (oldX, oldY)-(X, Y), vbBlue, B
    End If
End Sub

Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        Picture1.Picture = SavePic.Picture
    End If
End Sub

En esperant que cela te seras utile.


www.e-fitz.com
Encore plus de source et de tutoriels.


dimanche 21 septembre 2008 à 08:18:17 | Re : rectangle de selection

jmfmarques

Membre Club
Bonjour, ciberrique,

- ta réponse VB6 ne me parait pas réellement correspondre à la demande...
- mais, surtout : ton code est écrit pour VB6 et non pour VB.Net !!!

dimanche 21 septembre 2008 à 10:34:18 | Re : rectangle de selection

plano

Merci Ciberrique pour ton code, mais il est vrai que ce n'est pas du VB.NET!
Je vais quand meme essayer de le transposer malgre que je sois débutant.
(Si tu sais comment on fait!!!)

dimanche 21 septembre 2008 à 11:48:18 | Re : rectangle de selection

ciberrique

Ah oui j'ai pas fait attention effectivement c'est pas du .net, et le probleme est que je pourrais pas t'aider a transposer car je ne fais pas de .net par contre je vois pas ce qui ne correspond pas, de plus plutot de dire ca correspond pas donne une reponse mieu adapté.


www.e-fitz.com
Encore plus de source et de tutoriels.

dimanche 21 septembre 2008 à 12:06:13 | Re : rectangle de selection

plano

Alors voilà, j'ai trouvé comment faire un rectangle de sélection dont voici le code:
 'Les coordonnees utilisees pour dessiner notre rectangle
    Private Xstart, Ystart, Xend, Yend As Integer
    Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
        'Si click gauche
        If e.Button = MouseButtons.Left Then
            'Initialisation des coordonnes
            Xstart = e.X
            Ystart = e.Y
            Xend = e.X
            Yend = e.Y
            'Declaration du rectangle
            Dim r As Rectangle
            'On dessine le rectangle en utilisant la fonction RectangleToScreen
            'qui convertie les coordonnes du rectangle par rapport a l'ecran
            r = PictureBox1.RectangleToScreen(New Rectangle(Xstart, Ystart, Xend - Xstart, Yend - Ystart))
            'On dessine un rectangle inversee qui laissera visible l'interieur du rectangle
            ControlPaint.DrawReversibleFrame(r, Me.BackColor, FrameStyle.Dashed)
        End If
        'End If
    End Sub
    Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
        'Quand clique gauche
        If e.Button = MouseButtons.Left Then
            'On efface l'ancien rectangle
            Dim r As Rectangle
            r = PictureBox1.RectangleToScreen(New Rectangle(Xstart, Ystart, Xend - Xstart, Yend - Ystart))
            ControlPaint.DrawReversibleFrame(r, Me.BackColor, FrameStyle.Dashed)
            'Nouvelles coordonnees de la souris quand on la bouge
            Xend = e.X
            Yend = e.Y
            'On redessine le rectangle avec les nouvelles coordonnes de la souris
            r = PictureBox1.RectangleToScreen(New Rectangle(Xstart, Ystart, Xend - Xstart, Yend - Ystart))
            ControlPaint.DrawReversibleFrame(r, Me.BackColor, FrameStyle.Dashed)
        End If
    End Sub
    Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
        If e.Button = MouseButtons.Left Then
            'On efface le dernier rectangle
            Dim r As Rectangle
            r = PictureBox1.RectangleToScreen(New Rectangle(Xstart, Ystart, Xend - Xstart, Yend - Ystart))
            ControlPaint.DrawReversibleFrame(r, Me.BackColor, FrameStyle.Dashed)
        End If
    End Sub

Maintenant j'ai un petit dessin:

Dim NewGraphic As Graphics = PictureBox1.CreateGraphics()

Dim blackPen AsNew Pen(Color.Black, 1)

NewGraphic.DrawRectangle(blackPen, 100, 100, 40, 20)

NewGraphic.DrawLine(blackPen, 130, 100, 110, 120)

Donc j'aimerai pouvoir sélectinner mon déssin avec ce fameux rectangle et le déplacer.

Comment je dois faire?

Merci à ceux qui me répondront!!!

 


dimanche 21 septembre 2008 à 12:17:35 | Re : rectangle de selection

ciberrique

Réponse acceptée !
Je serais toi je stockerais les coordonnées de ton dessin et si le rectangle de selection englobe les coordonnées alors tu deplace ton images en modifiant les coordonnées de l'image. Je sais pas si je suis clair ^^.


www.e-fitz.com
Encore plus de source et de tutoriels.

dimanche 21 septembre 2008 à 14:54:11 | Re : rectangle de selection

jmfmarques

Membre Club
Tu sais maintenant, ciberrique, quelle était la véritable question :
Sélectionner une portion de dessin.
Sous VB6, PaintPicture ferait l'affaire (entre autres) : quid sous VB.Net ? (je n'en sais personnellement rien)

dimanche 21 décembre 2008 à 18:36:27 | Re : rectangle de selection

benji2000

Bon travail il y a du code, mais on aboutit à quelque chose qui est très agréable et facile d'utilisation.
Merci beaucoup pour vos participations à ce sujet qui m'a était très utile.
Bonne prog à vous tous...

 DOVAX 




Cette discussion est classé dans : selection, rectangle


Répondre à ce message

Sujets en rapport avec ce message

faire un outils Rectangle de selection en VB.net [ par neoleo ] salut à tousJe voudrais savoir quelle est la meilleur façon de faire un outils de selection rectangulaire comme celui de paint, ie il permet de dessin Rectangle de selection. Help [ par lechti62 ] Bonjour, je m'en sors pas avec un rectangle de selection. JE copie une zone dans un picture box, bon ok là pas de probleme, la zone à copoier je la de Rectangle de selection [ par fabmas ] Bonjour, je cherche a dessiner un rectangle de selction dont je pourrais modifier la taille par la suite pour le dessin, pas de soucis j'utilise : C selection d'une imprimante dans un programme vb [ par snarkpit29 ] Je doi imprimer des étiquettes sur une petite imprimante, et je voudrai la definir par défaut a l'éxecution du programme j'ai trouvé se code la sur le f***ing checkbox [ par marsupio ] Je fais un tableau sur excel, pour chaque ligne, je met une checkbox qui lorsqu'elles sont cochées, font couper/coller la ligne à laquelle elles font problème requêtte de selection avec DAO [ par amer_ezahir ] Mon problème est comme suite : j'ai crée dans une base de donnée 2 tables (T_Clients<SPAN style="COL Liste de noms [ par JLV1975 ] Salut à tous,Je fais un prog pour gerer des tournois.Je dois faire une selection des personnes présentes le jour du tournoi.A priori je pense faire ce procedure stockee VB.NET [ par hujikole2 ] Bonjour,Dans mon programme , je faisiat des requetes betement et a priori ca rame. Alors je voudrais essayer des creer des procedures stockées de faco Datagrid [ par JLV1975 ] Salut,J'utilise un datagrid pour selectionner des lignes.Chaque fois que je double clic sur une ligne j'envoi ma selection dans un textbox.Je n'arrive Selection Item ListView [ par Guismeau13 ] Bonjour à tous,J'ai un problem lorsque je selectionne un item dans une listView...Lorsque je selectionne un item dans une ListView (ligne entière car


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.