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

Lazarus Pascal Discussion :

Activer un bouton


Sujet :

Lazarus Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2010
    Messages : 41
    Points : 22
    Points
    22
    Par défaut Activer un bouton
    Bonjour,

    j'ai un problème concernant une interface que je suis en train de créer: mon interface contient un TRadioGroup, et TCheckGroup un et bouton. J'aimerais que mon bouton ne s'active que si au moins une case du TCheckGroup soit sélectionné, et que le TRadioGroup soit coché...
    Mais je ne sais pas quel propriété permet de montrer ces actions (au moins une case cochée pour pour le TCheckGroup, etc.)...
    Quelqu'un saurait-il quel est cet événement?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 37
    Points : 27
    Points
    27
    Par défaut
    Pour le CheckGroup je ne sais pas mais je peu t'aider pour le RadioGroup.

    Il y à une propriété ItemIndex qui définit l'endroit ou est placé le choix. Si c'est 0 c'est le premier choix, 1 le deuxième etc ... et si c'est -1 il n'y a pas de choix.

    Donc au début tu définit par default le RadioGroup.ItemIndex:=-1;

    Et après sur le OnChange du RadioGroup et du CheckGroup tu fait les verifs.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Si il n'y a pas de choix
    If (Radiogoup.ItemIndex=-1)   ou   (CheckGroup.(la je sais pas))
    then
    begin
    Bt_valider.enabled=false;
    end
     
    else
    begin
    bt_valider.enabled=true;
    end

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2010
    Messages : 41
    Points : 22
    Points
    22
    Par défaut
    Merci!
    Je verrai ça pour le CheckGroup, parce qu'il n'a pas d'ItemIndex...

  4. #4
    Membre confirmé Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    668
    Détails du profil
    Informations personnelles :
    Âge : 59

    Informations forums :
    Inscription : Novembre 2004
    Messages : 668
    Points : 628
    Points
    628
    Par défaut
    Bonjour

    Pour le CheckGroup il y a ceci qui marche sous linux:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    procedure TForm1.CheckGroup1ItemClick(Sender: TObject; Index: integer);
    begin
     
            if ( CheckGroup1.Checked [ index ] = false) then
              Button1.Enabled := false
          else
              Button1.Enabled := true;
     
    end;
    A+
    .
    Why
    .
    //------------------

  5. #5
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Ca serait quand même plus simple et plus lisible comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    procedure TForm1.CheckGroup1ItemClick(Sender: TObject; Index: integer);
     
    begin
        Button1.Enabled := CheckGroup1.Checked [ index ];
    end;
    Cordialement,
    Martinux
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Pour activer un bouton si au moins un element est coché,
    il y a une solution simple en parcourant les items

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.CheckGroup1ItemClick(Sender: TObject; Index: integer);
    var
      i : integer;
      b : boolean;
    begin
      b := false;
      for i := 0 to TCheckGroup(Sender).Items.Count-1 do
        b := b OR TCheckGroup(Sender).Checked[i];
     
      button1.enabled := b;
    end;
    en prenant en considération le radioGroup 1 cela donne :

    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 TForm1.CheckGroup1ItemClick(Sender: TObject; Index: integer);
    var
      i : integer;
      b : boolean;
    begin
      b := false;
      if radioGroup1.itemIndex<>-1 then
      begin
        for i := 0 to TCheckGroup(Sender).Items.Count-1 do
          b := b OR TCheckGroup(Sender).Checked[i];
      end;
     
      button1.enabled := b;
    end;

Discussions similaires

  1. Réponses: 9
    Dernier message: 28/08/2006, 08h58
  2. [FLASH MX] J'arrive pas à activer les boutons
    Par gil51 dans le forum Flash
    Réponses: 20
    Dernier message: 02/08/2006, 08h39
  3. dés/activer un bouton
    Par MCarole dans le forum Access
    Réponses: 5
    Dernier message: 22/06/2006, 12h19
  4. Activer un bouton en appuyant sur une touche du clavier
    Par brasco06 dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 16/02/2006, 23h47
  5. Réponses: 3
    Dernier message: 29/12/2005, 16h41

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