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

C++Builder Discussion :

Event OnChange : signification exacte


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Event OnChange : signification exacte
    Bonjour à tous,

    j'ai un petit problème avec un TComboBox : j'ai programmé un évènement "onChange" pour que lorsque la valeur est changée, certaines transformations s'opèrent sur ma fiche. J'ai testé manuellement, pas de problèmes.
    Par contre, lorsque je le change "par le code", c'est à dire si appuyant sur un bouton, je demande d'effectuer (par exemple) (toto est le nom de mon TComboBox, au départ, je met son ItemIndex à 1), les modification ne s'effectuent pas.
    L'évènement "OnChange" ne serait donc pas adapté dans mon cas ? Avez-vous des méthodes à suggérer pour résoudre ce problème ?

    D'avance merci pour votre aide

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Oui OnChange n'est appelé que lorsque la modification est effectuée par l'utilisateur... D'ailleurs, la doc le dit (TCustomCombo):

    Note: OnChange only occurs in response to user actions. Changing the Text property programmatically does not trigger an OnChange event.
    Perso, je fait un appel à ma fonction de traitement après avoir modifié le contenu du combo box.

    Soit directement:
    Soit indirectement par la définition actuelle de OnChange:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (toto->OnChange) toto->OnChange(toto);
    Exemple (un TEdit, un TButton et un TComboBox):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::ComboBox1Change(TObject *Sender)
    {
      Edit1->Text=ComboBox1->Text;
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
      ComboBox1->Text="cinq";
      if (ComboBox1->OnChange) ComboBox1->OnChange(ComboBox1);
    }
    //---------------------------------------------------------------------------

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    C'est bien ce que je craignais, j'espérais qu'il existait un gestionnaire d'évènements identique, mais qui se produit à tout changement.

    Merci pour l'exemple, je vais adapter mon programme en conséquence

    bonne journée

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

Discussions similaires

  1. [ZF 1.7] Zend_Form_Element : refresh des composants lors d'un event 'onchange'
    Par LuMagicienDOz dans le forum Zend_Form
    Réponses: 11
    Dernier message: 01/11/2010, 01h45
  2. [Dojo] event onchange sur les cellule dojox.grid.datagrid
    Par moukit233 dans le forum Bibliothèques & Frameworks
    Réponses: 8
    Dernier message: 14/09/2010, 11h52
  3. Modification de l'event onChange d'un select via javascript
    Par robertt dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/01/2010, 16h00
  4. Signification exacte d'une expression
    Par vlo59 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 09/04/2008, 16h50
  5. SELECT event onChange ?
    Par akaii dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 29/11/2004, 10h15

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