Discussion: Boite à outils VB6

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2017
    Messages : 20
    Points : 12
    Points
    12

    Par défaut Boite à outils VB6

    Bonjour, bonsoir
    j'aimerais pour une application que je développe, réaliser une boite à outils (un peu comme pour certains logiciel de dessin), qui fonctionne comme suit:
    l'utilisateur clique sur le bouton correspondant à l'élément qu'il souhaite insérer, ensuite il clique n'importe où sur le form et l'élément choisit apparait à l'emplacement du clique. les éléments à afficher seront des images de 16 x 16 ou de 32 x 32.
    J'ai déjà réaliser les boutons avec les icônes dessus. quelqu'un pourrait t-il m'aider à réaliser la suite.
    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 439
    Points : 9 438
    Points
    9 438

    Par défaut

    Salut

    Un exemple, sur un Form 2 CommandButtons et 1 PictureBox avec index = 0 et ce
    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
    Option Explicit
    Dim MemoLeft As Long, MemoTop As Long
    Dim Actionneur As Integer
    Private Sub Form_Load()
    MemoLeft = -1: MemoTop = -1: Actionneur = 0
    Picture1(0).AutoRedraw = True
    Picture1(0).AutoSize = True
    End Sub
     
    Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Actionneur = 1
    If MemoLeft <> -1 And Shift = vbCtrlMask Then Dess MemoLeft, MemoTop, Actionneur
    End Sub
    Private Sub Command2_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Actionneur = 2
    If MemoLeft <> -1 And Shift = vbCtrlMask Then Dess MemoLeft, MemoTop, Actionneur
    End Sub
    Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    MemoLeft = X: MemoTop = Y:
    If Shift = vbCtrlMask Then Dess MemoLeft, MemoTop, Actionneur
    End Sub
     
    Sub Dess(Leftt As Long, Topp As Long, NumBtn As Integer)
    Dim IdxPict As Integer
    Load Picture1(Picture1.Count) ' création d'un PictureBox à partir du PictureBox invisible indexé 0
    IdxPict = Picture1.Count - 1 'index du nouveau PictureBox
    Picture1(IdxPict).Left = Leftt ' placement horizontal
    Picture1(IdxPict).Top = Topp ' placement vertical
    'chargement de l'image suivant le bouton cliqué
    If Actionneur = 1 Then Picture1(IdxPict).Picture = LoadPicture("C:\PersoFrancis\LogoOrBis.bmp")
    If Actionneur = 2 Then Picture1(IdxPict).Picture = LoadPicture("C:\PersoFrancis\MeAvatar2.jpg")
    Picture1(IdxPict).Visible = True
    End Sub
    Pour déclencher le dessin d'une image, il faut appuyer sur la touche Ctrl en même temps que le clique sur un bouton ou sur le Form.
    Attention, ligne 30 et 31, mets ton propre chemin et nom des fichiers images.
    Bien entendu, il reste pas mal de chose a gérer, ceci n'est qu'un exemple.
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2017
    Messages : 20
    Points : 12
    Points
    12

    Par défaut

    Bonsoir ProgElecT
    Merci pour cet exemple qui constitue déjà un important point de départ pour moi.
    mais en respectant tout ce que vous avez dit tout s'affiche bien, sauf que rien ne se passe. Pas d'apparition de figure.
    deux boutons de commandes : FAIT
    Picturebox index 0 : FAIT
    installation du code : FAIT
    j'examine le code mais je n'ai encore rien pour le moment. Merci tout de même.

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    4 439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 4 439
    Points : 9 438
    Points
    9 438

    Par défaut

    Re

    Dans la Sub Form_Load() on peut ajouter Picture1(0).Visible = False.

    Après lancement du programme, si on veut déclencher le dessin du fichier par clique sur un des boutons, il faut avoir au moins cliqué une fois sur le Form puis cliquer sur l'un des boutons en appuyant en même temps sur la touche Ctrl.

    Dans tous es cas, au démarrage, il faut cliquer une première fois sur le Form à l'endroit ou l'on désir faire apparaitre un dessin.

    Par la suite, Clique + Ctrl sur un des boutons déclenche le dessin sur le Form à l'endroit du dernier clique sur le Form.
    Citation Envoyé par ProgElecT
    il reste pas mal de chose a gérer
    Si une suite de Clique + Ctrl sur les boutons, les dessins s'empileront au même endroits.
    Si on clique + Ctrl à différents endroits sans repasser par un bouton, le dessin sera celui désigné par le dernier bouton cliqué.
    Un simple clique (sans la touche Ctrl) sur un des boutons "sélectionne" l'image sans la dessiner.
    Un simple clique (sans la touche Ctrl) sur le Form, mémorise ou sera dessiné le future dessin.
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Bénin

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2017
    Messages : 20
    Points : 12
    Points
    12

    Par défaut

    Bonjour
    effectivement ça marche bien. merci.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/04/2007, 15h28
  2. [VBA-E] Boite à outils Controles ou Formulaires dans EXcel
    Par xeron33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/03/2007, 11h26
  3. Rubriques des Boites à outils
    Par elgigante dans le forum WinDev
    Réponses: 2
    Dernier message: 12/03/2007, 13h50
  4. [Excel] Boite à outils
    Par arcane dans le forum Excel
    Réponses: 1
    Dernier message: 14/11/2005, 12h50
  5. [BDD] savoir sur boite outil
    Par ghaoui dans le forum JBuilder
    Réponses: 2
    Dernier message: 25/07/2005, 10h51

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