Je fais avec wxFormBuilder une frame toute simple avec un wxListBook comprenant deux wxPanel. J'utilise OnListBookPageChanging pour intercepter le changement de panel.

Le code suivant est alors automatiquement inséré dans le constructeur de ma frame:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
m_listbook->Connect( wxEVT_COMMAND_LISTBOOK_PAGE_CHANGING, wxListbookEventHandler( MyFrame_GUI::OnListBookPageChanging), NULL, this );
et je surcharge cette fonction OnListBookPageChanging dans ma classe MyFrame.

Seulement, si je fais un event.Veto();dans cette méthode, j'y passe deux fois alors que si l'évènement n'est pas "vetoed", je n'y passe bien qu'une seule fois.
Etonné, j'ai creusé un peu, et c'est bien le même évènement, car l'identifiant du contrôle est le même, et quand j'utilise les méthodes event.GetSelection() et event.GetOldSelection() elles me renvoient bien respectivement 0 et 1 pour les deux passages. Cela concerne donc bien le passage du premier panel (index 0) au deuxième panel (index 1).

Des idées?