Page 1 of 1

Как отловить событие переключен

Posted: Wed Jun 02, 2010 11:04 pm
by VantuZZ
Привет всем. Собственно, никак не получается отловить событие переключения вкладки в wxAuiNotebook, мб кто уже сталкивайся с этим вопросом ?

Posted: Thu Jun 03, 2010 9:57 am
by borr_1
EVT_NOTEBOOK_PAGE_CHANGED
EVT_NOTEBOOK_PAGE_CHANGING

как назначаешь event через table или через Connect, если через Connect - NULL, this в конец вставить не забыл?

Posted: Thu Jun 03, 2010 2:11 pm
by VantuZZ
И так и так пробовал, например пишу в основном фрейме в функции create:

Code: Select all

m_Notebook = new wxAuiNotebook(this, GUI_NOTEBOOK);
и в таблице

Code: Select all

EVT_NOTEBOOK_PAGE_CHANGED(GUI_NOTEBOOK, MFrame::OnChangeTab)
EVT_NOTEBOOK_PAGE_CHANGING(GUI_NOTEBOOK, MFrame::OnChangeTab)
никакого эффекта от переключения вкладок :(

Posted: Thu Jun 03, 2010 5:02 pm
by tan
А
EVT_AUINOTEBOOK_PAGE_CHANGED
EVT_AUINOTEBOOK_PAGE_CHANGING
не пробовал?

Posted: Fri Jun 04, 2010 6:35 am
by borr_1
Покажи MFrame::OnChangeTab, внутрь ее отладчик не попадает?
Попробуй взять Code::Blocks или wxFormBuilder там есть AuiNotebook в генераторе форм - создай форму и смотри где ошибся.

Posted: Fri Jun 04, 2010 11:33 am
by VantuZZ
Спасибо всем! Все заработало как только стал использовать
EVT_AUINOTEBOOK_PAGE_CHANGED
EVT_AUINOTEBOOK_PAGE_CHANGING

2 borr_1:
Ранее функция выглядела так, и отладчик в нее не попадал.

Code: Select all

void MFrame::OnChangeTab(wxBookCtrlEvent& event)
{
 //some code..
}
PS
Замечательная мысль заглянуть в wxFormBuilder, жаль сам не догадался.

Posted: Fri Jun 04, 2010 6:21 pm
by Mojo
VantuZZ wrote:Спасибо всем! Все заработало как только стал использовать
EVT_AUINOTEBOOK_PAGE_CHANGED
EVT_AUINOTEBOOK_PAGE_CHANGING

.......

PS
Замечательная мысль заглянуть в wxFormBuilder, жаль сам не догадался.
Учитывая, что tan первый предложил использовать EVT_AUINOTEBOOK_PAGE_CHANGED
EVT_AUINOTEBOOK_PAGE_CHANGING

было бы справедливо, поставить метку Accepted Answer на его ответ.