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

Langage Delphi Discussion :

Evénement d'une TCheckBox


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 41
    Points
    41
    Par défaut Evénement d'une TCheckBox
    salut,

    J'ai un petit soucis avec les checkbox.

    En fait mon programme doit effectuer une opération lorsque l'on coche un checkbox, donc j'ai déclaré un événement dans OnClick, mais le soucis est qu'on peut cocher le checkbox sans passer par le onclick, donc si l'utilisateur venait a appuyer sur espace pour cocher la case, alors l'action ne s'effectuerait pas.

    n'y a-t-il pas un événement du genre OnCheck ?

    j'ai pensé faire dans le OnKeyDown ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (key=VK_SPACE)then
      OnClick(nil);
    et cela semble marcher, mais il y a peut etre plus simple non ?

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    , chez moi sa marche!!!!!!

  3. #3
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    Ben moi je viens de tester ça et ça fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm1.CheckBox1Click(Sender: TObject);
    begin
    if CheckBox1.Checked then Label1.Caption := 'ok'
    else Label1.Caption := 'Pas ok';
    end;
     
    procedure TForm1.CheckBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    if CheckBox1.Checked then Label1.Caption := 'ok'
    else Label1.Caption := 'Pas ok';
    end;
    André

  4. #4
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    Citation Envoyé par Shredder Voir le message
    En fait mon programme doit effectuer une opération lorsque l'on coche un checkbox, donc j'ai déclaré un événement dans OnClick, mais le soucis est qu'on peut cocher le checkbox sans passer par le onclick, donc si l'utilisateur venait a appuyer sur espace pour cocher la case, alors l'action ne s'effectuerait pas.

    n'y a-t-il pas un événement du genre OnCheck ?
    en complément à ce qui a été dit, je me permet de citer l'aide de delphi sur l'évènement Onclick d'un TControl, duquel dérive le TCheckBox :
    Citation Envoyé par Aide delphi
    Utilisez le gestionnaire d'événement OnClick pour répondre quand l'utilisateur clique sur le contrôle.Si le contrôle comprend une action associée et que l'action a une méthode OnExecute,cette méthode répond aux événements de clic de la souris sauf si elle est remplacée par un gestionnaire d'événement OnClick.

    Généralement,OnClick se produit quand l'utilisateur appuie puis relâche le bouton gauche de la souris alors que le pointeur de la souris est au-dessus du contrôle.Cet événement peut également se produire si :

    L'utilisateur sélectionne un élément dans une grille,une arborescence,une liste ou une boîte àoptions en appuyant sur une touche de direction.
    • L'utilisateur appuie sur Espace lorsqu'un bouton ou une case àcocher détient la focalisation.
    • L'utilisateur appuie sur Entrée dans une fiche active contenant un bouton par défaut (spécifiépar la propriétéDefault).
    • L'utilisateur appuie sur Echap dans une fiche active contenant un bouton d'annulation (spécifiépar la propriétéCancel).
    • L'utilisateur appuie sur la touche de raccourci d'un bouton ou d'une case àcocher.Si,par exemple,la valeur de la propriétéCaption d'une case àcocher est '&Gras',le G est soulignéàl'exécution et l'événement OnClick de la case àcocher est déclenchési l'utilisateur appuie sur Alt+G.
    • La valeur true est affectée àla propriétéChecked d'un bouton radio.
    • La valeur de la propriétéChecked d'une case àcocher est modifiée.
    • La méthode Click d'un élément de menu est appelée.
    un petit tour dans l'aide de delphi t'aurait donc certainement été bénéfique

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 41
    Points
    41
    Par défaut
    merci pour vos réponses

    en fait pour revenir sur le code de andreditdd, cela est tout bete oui, mais par exemple, si je veux incrémenter une variable, a chaque fois que la case est cochée, alors dans le OnKeyDown, si j'ai le checkbox de sélectionné, et de coché, alors si je maintiens la touche "A" enfoncée, alors la variable va s'incrémenter sans cesse.

    enfin en effet, evarisnea, dans l'aide il y avait a peu près ce que je recherche

    merci encore ++

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

Discussions similaires

  1. Evénement associé à une classe
    Par AlexFred dans le forum VBA Access
    Réponses: 9
    Dernier message: 09/02/2007, 12h39
  2. Attacher un Evènement dans une Class
    Par mr32 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/10/2006, 21h14
  3. [C#] Evènement dans une CheckedListBox
    Par guillaume16 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/03/2006, 10h51
  4. Couleur de fond de la case à cocher d'une TCheckBox ?
    Par Frank38 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 03/02/2006, 10h23
  5. Non réception d'un evènement sur une JTable
    Par Kant dans le forum Composants
    Réponses: 4
    Dernier message: 28/05/2004, 11h38

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