[Debutant] Problème pour les évènements wxWidget

Problème pour les évènements wxWidget [Debutant] - C++ - Programmation

Marsh Posté le 20-03-2005 à 12:00:32    

Bonjour,
 
J'ai une classe nommé "test" qui est un classe dérivée de wxDialog.
Dans cette wxDialog, j'ai par exemple 2 wxSpinCtrl.
 
Quand j'utilise un évènement du genre: EVT_SPIN_UP je doit mettre en paramètre l'id du composant et le nom de la fonction. Mais pour un évènement du type EVT_KILL_FOCUS, on ne doit spécifier que le nom de la fonction en paramètre.
 
C'est la tout le problème. Si je ne spécifie pas l'id du wxSpinCtrl pour l'évènement EVT_KILL_FOCUS, l'évènement va s'appliquer au deux wxSpinCtrl, non ?
Pour évité ça je doit faire un classe dérivée de wxSpinCtrl ? (c'est en peu lourd toutes ses classes dérivés).
 
Merci...

Reply

Marsh Posté le 20-03-2005 à 12:00:32   

Reply

Marsh Posté le 29-03-2005 à 19:51:59    

Dans la doc il y a la macro suivante :
EVT_CUSTOM(event, id, func)  Allows you to add a custom event table entry by specifying the event identifier (such as wxEVT_SIZE), the window identifier, and a member function to call.  
 
Donc dans ton cas quelque chose du genre :

Code :
  1. EVT_CUSTOM(wxEVT_KILL_FOCUS, ID_SPINCTRL, MyFrame::OnKillFocus)


 
Je n'ai pas tester mais bon ....


---------------
L'agence www.PolyDev.com, entreprise spécialisée dans l'accompagnement et le suivi de vos projets multimédia (3d, 3d web, site web,  logiciels spécialisés).
Reply

Marsh Posté le 29-03-2005 à 20:47:08    

Pourquoi ne pas faire un test sur la valeur du wxFocusEvent::m_id que tu reçois en paramètre de ton event handler ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed