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 :

Quel CommandButton utiliser ?


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut Quel CommandButton utiliser ?
    Bonjour,

    je me pose une question simple: quel contrôle utiliser pour faire un bouton dont on peut définir la couleur de fond (ainsi qu'une .picture de préférence) sachant que je ne veux pas que le bouton puisse avoir plusieurs états (je ne veux pas d'un bouton-poussoir) ?

    Jusqu'à maintenant, j'utilisais le CommandButton qui contient les propriétés .Picture, .Backcolor et .Accelerator.
    Mon souci est que si je double-clique dessus, il reste enfoncé (bouton poussoir). Peut-être y a t il moyen de désactiver cela ?

    Merci d'avance pour toute aide

    Bonne journée

  2. #2
    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
    Par défaut
    Bonsoir,

    Tu veux donc, tout compte fait, un contrôle qui agisse comme un bouton de commande mais qui n'agisse pas comme un bouton de commande !!!

    Compte tenu de tout ce que tu veux : réponse au click, image, etc..., je crois que le plus simple sera encore une picturebox et l'utilisation de toutes les méthodes qu'elle accepte !... (tu perdras forcément quelques petites choses au passage, telle la possibilité d'affecter un "mnémonic", et seras contraint de mettre ton "caption" en Print, etc... etc... sauf à développer toi-même les "substituts"... pour bien peu ... à part la satisfaction (importante ?) d'une espèce de ... caprice ...)

    On peut également (je te le signale) utiliser des fonctions de l'Api de Windows pour "mettre complètement à plat" un commandButton ( questions : 1) t'en sens-tu la force en fonction de ton niveau ? - 2) es-tu prêt, dans la foulée, à alourdir significativement, pour si peu, ton application ? Those are the only and real questions ...)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    Bonsoir ucfoutu,

    merci pour ta réponse. En effet, le picturebox est une bonne alternative, j'aurai dû y penser.

    Cependant l'API dont tu me parles m'intéresse beaucoup car j'ai déjà un certain nombre de commandbuttons sur mon programme et ça m'éviterait de devoir les remplacer par des picturebox. D'autant plus que la possibilité de leur affecter des raccourci-clavier ne m'est pas indifférente (bien que ce ne soit pas indispensable).

    Peux-tu me donner ou me dire où trouver le code de déclaration et d'utilisation de cet API ?

    Bonne soirée

  4. #4
    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
    Par défaut
    Tiens,

    Juste pour me divertir sans même l'API et m'amuser à trouver une feinte (bien que je ne ferais jamais une telle chose pour moi...) :

    Une Form

    - un bouton de commande Command1 avec sa propriété Style à Graphical
    - Un frame Frame1

    Ce code :

    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
    Private Sub Form_Activate()
     Me.ScaleMode = 3
     Frame1.BorderStyle = 0
     With Frame1
       .Height = 60
       .Width = 200
     End With
     With Command1
       .Height = Frame1.Height * 1.2
       .Width = Frame1.Width * 1.2
       .BackColor = vbRed
     End With
     Set Command1.Container = Frame1
     DoEvents
     With Command1
       .Move -Command1.Width / 12, -Command1.Height / 12
     End With
    End Sub
    Lance et vois...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    Merci...

    mais je n'utiliserai pas cette solution car j'ai déjà une interface avec un certain nombre de controles, placés et dimensionnés à l'exécution en fonction de divers paramètres.
    Je souhaite modifier le moins possible mon code actuel et ça ne me parait pas très propre de faire comme ça. C'est pour ça que j'aimais bien l'idée de l'API...

    Et au pire, un pictureBox sera plus simple à coder (j'utiliserai .borderstyle et .backcolor pour simuler l'appui du bouton).

  6. #6
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    Je crois que ucfoutu t'a juste donné un exemple pour illustrer son idée.

    Et comme lui, je pense qu'un simple bouton Command permet de gérer les couleurs de fond et les images si définit la valeur de sa propriété Graphical à True.

    Ceci dit, je me pose tout de même une question. Programmes-tu en VB6 ?

    Parce que je ne me souviens pas avoir vu une propriété Accelerator sur un composant Command.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    Bonjour,

    de quel contrôle parles-tu, zazaraignée, un commandbutton (ça je connais, il y en a deux différents) ou un command (je ne connais pas) ?
    Et sur le CommandButton que je connais, il n'y a pas de propriété Graphical.

    Et oui, je programmes en VB6...

    Bonne journée

  8. #8
    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
    Par défaut
    Citation Envoyé par Splug Voir le message
    Et sur le CommandButton que je connais, il n'y a pas de propriété Graphical.
    Et pour nous, sous VB6, c'est le contraire !
    - un contrôle CommandButton de VB6 est tout ce qu'il y a de plus classique et il a une propriété Style, que l'on peut définir à Graphical....
    - il n'a pas contre pas de propriété Accelerator !
    - et il ne reste pâs "enfoncé" lorsque l'on relache le bouton de la souris ...

    Conclusion ? je ne sais pas quel contrôle tu utilises !

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    346
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2005
    Messages : 346
    Par défaut
    J'avais mal compris.. je cherchais une propriété Graphical, et non Style

    Super, c'est tout ce que je voulais, merci ucfoutu :-). Ca m'étonnait aussi qu'un comportement si simple ne soit pas prévu dans ce contrôle.

    Pour .Accelerator, c'est dans le CommandButton (c'est le même nom) qui a également une propriété .PicturePosition.
    je crois que c'est un composant de Microsoft Forms 2.0 (FM20.dll).

    Bonne journée

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

Discussions similaires

  1. [JEditorPane] Quel listener utiliser?
    Par Pill_S dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 27/07/2004, 13h32
  2. [Parser HTML] quel parser utiliser pour du HTML 4.0 ?
    Par Cyber@l dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 19/07/2004, 19h32
  3. [Debutant(e)]Quel composant utiliser pour faire une grille
    Par elitost dans le forum Composants
    Réponses: 7
    Dernier message: 21/06/2004, 20h44
  4. Réponses: 3
    Dernier message: 27/08/2003, 21h14
  5. Réponses: 2
    Dernier message: 11/07/2002, 08h31

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