wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 2

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Evènements d'activation sur wxChoice (liste de choix)
Conversation (Résolue) : Evènements d'activation sur wxChoice (liste de choix)
17-08-2009 15:30:27  Evènements d'activation sur wxChoice (liste de choix) #1
Lambda (Nouveau membre)
Inscrit le : 16-08-2009
Messages: 3
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,
Je suis sous debian wxWidgets 2.8.10 gtk/utf8.
Je cherche en vain à capturer un évènement d'activation d'une liste de choix. wxChoice.

Faute de mieux j'utilise ces évènements:

EVT_SET_FOCUS(MyChoice::OnFocusGot)
EVT_KILL_FOCUS(MyChoice::OnFocusLost)

J'ai déclaré une classe MyChoice héritée de wxChoice et implémenté
en inline les méthodes MyChoice::OnFocusGot et MyChoice::OnFocusGot

Je capture bien ces évènements mais ne trouve pas ceux qui corresponde à l'activation.

C'est a dire que je cherche l'évèmement qui se déclencherai à chaque fois que l'on clique
sur le triangle de la wxChoice et que l'on fait dérouler.

Attention : il ne s'agit pas de l'évènement lorqu'on a choisit un item juste le fait de faire
la liste se dérouler.
ONFOCUSGOT/LOST ne correspondent pas car il s'agit de la gestion du focus.

Il semble que le seul autre évènement possible sur une wxChoice soit la macro:
EVT_CHOICE qui procèderai un wxEVT_COMMAND_CHOICE_SELECTED et serait donc ce qui correspond
à la sélection.

Je sait que la gestion des évènements est différente sous Linux que sous windows et surtout
avec gtk.

Et c'est peut-être mon problème.


Mon but est de placer la sélection dans le milieu de la liste au moment de l'activation
car elle est longue ( constantes de 24, ou 60 items) et ceci permet de la voir entièrement
lors de la sélection et de se placer juste au millieu par contre la valeur devant apparaitre
comme sélectionnée avant toute action est 0 ou le blanc.

Si quelqu'un avait une solution.

D'avance, je vous remercie.
18-08-2009 08:56:23  Re: Evènements d'activation sur wxChoice (liste de choix) #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Tu ne pourras pas gérer cela directement avec un contrôle wxChoice.

Par contre, en créant ta propre classe, dérivée de wxComboCtrl, et en customisant la méthode ShowPopup(), ça devrait pouvoir marcher.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
19-08-2009 22:07:54  Re: Evènements d'activation sur wxChoice (liste de choix) #3
Lambda (Nouveau membre)
Inscrit le : 16-08-2009
Messages: 3
Snippets: 0
Tutoriels: 0
Hors ligne
Bonsoir et merçi xav.

En fait pour les wxChoices je m'en suis sorti autrement : en retenant
pour validation la dernière valeur sélectionnée, ce n'est peut-être pas catho,mais ça me convient parfaitement.

J'ai remarqué pour les wxChoices qu'aucune valeur n'est sélectionné par
défaut, mais une fois qu'on a fait un SetSelection(x) (ou cliqué sur la
liste) on ne peux plus dé-selectionner q'aucune valeur n'apparaisse.

La seule façon que j'ai trouvé de le faire est de
vider la liste (clear)et de la remplir à nouveau.

Ceci prend un certain temps.

J'ai essayé en deletant l'élément sélectionné courant et ça marche aussi
mais le traitement est aussi long car il doit y avoir un parcourt de tous
les items ou je ne sait quoi.

Ya-t-il un autre moyen pour qu'aucune valeur ne soit sélectionnée?
Je veux dire un moyen plus catho.

Ce que je veux, c'est que dés que je clique sur
la flèche à déroulé, la sélection se place sur le centre, mais que c'est
la fenètre de la liste qui remonte afin qu'elle se répartisse sur l'écran.
C'est possible avec la wxChoice avec l'évènement ON_FOCUS_GOT.

Mais ta réponse est une information qui pourra certainement me servir.
J'ai noté la page de ce lien dans la doc de wx.

A plus.

Dernière modification par Lambda (19-08-2009 22:16:34)

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Evènements d'activation sur wxChoice (liste de choix)