Eventi personalizzati di WxWidgets

Sto cercando di utilizzare un evento personalizzato nella mia applicazione C ++ WxWidgets , come descritto qui .

Nel costruttore della mia wxApp:

Connect(wxID_ANY, wxCommandEventHandler(APP::OnMyEvent)); 

Quindi la funzione che dovrebbe catturare l’evento:

 void APP::OnMyEvent(wxCommandEvent& event) { exit(0); //testing } 

Infine, per testarlo:

 wxCommandEvent MyEvent(wxEVT_COMMAND_BUTTON_CLICKED); wxPostEvent(this, MyEvent); 

Lancio la cosa … ma sembra che l’evento non sia pubblicato o non catturato.

Qualcuno capisce questo comportamento?

Sembra che tu stia utilizzando il seguente overload di Connect :

 void Connect(wxEventType eventType, wxObjectEventFunction function, wxObject* userData = NULL, wxEvtHandler* eventSink = NULL) 

Se è così, allora dovrebbe accadere un evento di tipo wxID_ANY (mai?), Quindi verrà chiamata la funzione connessa.

Forse hai bisogno di:

 Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(APP::OnMyEvent));