Ответ у меня не сработал. Это то, что я сделал вместо этого.
Сначала вы должны позволить вашему фрейму иметь события, которые испускает wxtimer.
m_timer.SetOwner( this );
Тогда вы можете иметь обработчик событий вашего фрейма для обработки событий.
Если у вас есть только один таймер, используйте это.
this->Connect( wxEVT_TIMER, wxTimerEventHandler( Frame::OnTimer ), NULL, this );
Если у вас несколько таймеров, используйте это для подключения события каждого таймера к другой функции.
this->Connect( m_timer.GetId(), wxEVT_TIMER, wxTimerEventHandler( Frame::OnTimerForSpecificTimer ), NULL, this );
Выполнение этого позволит фрейму поместить событие таймера в свою очередь событий и обработать его, когда сможет.