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

WinDev Discussion :

Clignotement d'un libellé de bouton [WD17]


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Agent d'étude
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 10
    Points
    10
    Par défaut Clignotement d'un libellé de bouton
    Bonjour,

    comment faire clignoter le libellé d'un bouton, au survol de celui-ci, pour attirer l'attention de l'utilisateur; Est-ce possible sur WD17 ?
    J'ai vu que cela était paramétrable pour un champ libellé mais je n'ai pas trouvé pour un bouton.
    merci par avance

  2. #2
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour

    Ça se fait très facilement par un timer

  3. #3
    Membre à l'essai
    Homme Profil pro
    Agent d'étude
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Surement quand on sait déclarer le survol de la souris et le timer.
    Ce qui n'est pas mon cas.
    Si tu pouvais m'orienter un peu cela pourrait m'aider, je rame dans les recherches de l'aide WD et n'ai rien trouvé à ce propos sur l'aide en ligne.
    Merci par avancce

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour, pour le survol, clic droit sur un bouton, code, tu cliques sur les 3 points de suspension, tu coches les options "entrée en survol" et "sortie du survol".

  5. #5
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Pour le survol c'est un évènement accessible dans le code du bouton. Sélectionne le bouton et fait F2 ou clique droit "Code", comme indiqué par romulus001
    Certains évènements sont déjà affichés (initialisation, clic..), il suffit de cocher les autres en bas de cette fenêtre.
    Dans ton cas "entrée en survol" et "sortie du survol"

    En entrée du survol il faut démarrer le timer (TimerSys) et l'arrêter en sortie (FinTimerSys)

    TimerSys va lancer une procédure qui va, à intervalle régulier, changer la couleur de ton bouton

    Si tu es programmeur, tu sais ce que c'est qu'un timer et un évènement. Si ce n'est pas le cas il faut le préciser dans ton message

  6. #6
    Membre à l'essai
    Homme Profil pro
    Agent d'étude
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci pour votre aide.
    Je ne suis pas programmeur seulement un amateur de WD, qui essaye de développer une gestion de commande (exemple WD17) amélioré gestion commerciale ( autre exemple WD17). Avec gestion des devis, des stocks ne figurant pas dans l'exemple gestion de commande avec un autre style d'IHM et des options qui me paraissent manquer dans ces exemples et pour mes besoins.
    Je développe cette appli. pour ma compagne qui monte une entreprise commerciale. Donc j'essaye de faire au mieux et de sécuriser l'utilisation de cette appli.
    Je suis à mille lieues de me considérer "programmeur" et n'ai aucune prétention dans ce sens.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Agent d'étude
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Il y a apparemment une procédure à créer, je ne sais pas si elle doit être locale ou globale, ni ce qu'il faut y mettre dedans comme code ????
    C'est la galère pour un truc qui doit être évident mais pas pour moi...

  8. #8
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Ok
    C'est pour ça que c'est important de préciser, ça permet à ceux qui répondent d'adapter leur réponse

    Il y a toujours plusieurs façons de faire. En voici un exemple uniquement par programmation (car on peut aussi utiliser les automatismes de procédures par exemple)

    Tous les codes sont déclarés dans la fenêtre qui contient le bouton Bt_Test

    *** "Déclarations globales" de la fenêtre ***
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    eNumTimer est un entier	// Un numéro pour le timer (qui sera retourné par Timersys)
    eDureeTimer est un entier = 50	// fréquence en centièmes de seconde
    *** "Entrée en survol" de Bt_Test ***
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // On lance le timer qui appelle la procédure locale PL_Clignotement à intervalle régulier (eDureeTimer)
    eNumTimer = TimerSys(PL_Clignotement, eDureeTimer)
    *** "Sortie du survol" de Bt_Test ***
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // On arrête le timer
    FinTimerSys(eNumTimer)
    *** Code de la procédure PL_Clignotement ***
    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
    PROCEDURE PL_Clignotement()
     
    // On arrête le timer
    FinTimerSys(eNumTimer)
     
    // On change la couleur de texte
    SI Bt_Test..Couleur = Noir ALORS
    	Bt_Test..Couleur = RougeClair
    SINON
    	Bt_Test..Couleur = Noir
    FIN
    // Ce qui peut aussi s'écrire comme ça :  Bt_Test..Couleur = (Bt_Test..Couleur = Noir ? RougeClair SINON Noir)
     
    // On relance le timer
    eNumTimer = TimerSys(PL_Clignotement, eDureeTimer)
    Je teste la couleur du bouton afin d’appliquer l'autre couleur, on pourrait aussi mémoriser l'état dans une globale, mémoriser la couleur à appliquer dans un tableau associatif etc ...
    Là j'ai fais simple pour que tu vois le principe, ensuite c'est à adapter

    On peut bien sur faire d'autre choses dans cette procédure : changer la couleur ou l'image de fond du bouton, rendre visible un autre champ, jouer un son etc ... les possibilités sont infinies

    Je te souhaite une très bonne année et de bons développements

  9. #9
    Membre à l'essai
    Homme Profil pro
    Agent d'étude
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Merci et bonne année à toi aussi,

    le clignotement ne s'arrête pas en sortie de survol ???
    J'ai reproduit tes données et pense ne pas m'être trompé.
    La procédure finale doit être locale ? Je l'ai renommée BTN_CLI. et ai changé le timersys en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eNumTimer = TimerSys(BTN_CLI, eDureeTimer)
    Ainsi que BT_Test par BTN_Suppression libellé de mon BTN dans la procédure locale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    PROCEDURE BTN_CLI()
    // On arrête le timer
    FinTimerSys(eNumTimer)
     
    // On change la couleur de texte
    SI BTN_Suppression..Couleur = Noir ALORS
    	BTN_Suppression..Couleur = RougeClair
    SINON
    	BTN_Suppression..Couleur = Noir
    FIN
    // Ce qui peut aussi s'écrire comme ça :  Bt_Test..Couleur = (Bt_Test..Couleur = Noir ? RougeClair SINON Noir)
     
    // On relance le timer
    eNumTimer = TimerSys(BTN_CLI, eDureeTimer)

  10. #10
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    hello and happy new year,
    chez moi en windev16 cela fonctionne. BTN_CLI est en procédure locale. Il n' y qu'un problème c'est quand on finit le survol, le texte du bouton peut rester en rouge. Il faut forcer dans la fin du survol le texte en noir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // On arrête le timer
    FinTimerSys(eNumTimer)
    BTN_Suppression..Couleur = Noir
    Peux-tu mettre toutes tes procédures (entrée en survol, sortie de survol) et les déclarations globales de la fenêtre.

    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  11. #11
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Ça fonctionne parfaitement sous Windev 17
    Vérifie bien que tous les codes sont placés au bon endroit
    La procédure est bien sur locale, sinon tu n'aurait pas accès au bouton Bt_Test (à moins de mettre le nom complet : NomFenetre.NomBouton)

    Juste un détail en sortie de survol le bouton peut rester en rouge selon son état, il faut donc le remettre en noir en sortant

    *** "Sortie du survol" de Bt_Test ***
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // On arrête le timer
    FinTimerSys(eNumTimer)
    Bt_Test..Couleur = Noir   // on restaure la couleur initiale en sortie du survol
    PS : je viens de voir que jurassic pork a évoqué le texte qui peut rester en rouge à la sortie

  12. #12
    Membre à l'essai
    Homme Profil pro
    Agent d'étude
    Inscrit en
    Novembre 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agent d'étude
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2015
    Messages : 30
    Points : 10
    Points
    10
    Par défaut
    Merci à tous pour votre aide, cela fonctionne.
    Bonne année 2016

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

Discussions similaires

  1. Libellé des boutons de dialogues wxPython
    Par oldzorg dans le forum wxPython
    Réponses: 4
    Dernier message: 18/09/2013, 17h33
  2. messageDlg, libellés des boutons
    Par jcs2 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 06/02/2012, 14h25
  3. [MessageBox] et traduction libellé des boutons
    Par Droïde Système7 dans le forum Débuter
    Réponses: 5
    Dernier message: 21/08/2010, 19h04
  4. PB: Libelle de bouton sur plusieur ligne ?
    Par krilas dans le forum Forms
    Réponses: 2
    Dernier message: 04/08/2009, 09h22

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