Программно добавлять / удалять вкладки на wxNotebook с помощью PageText
Мне нужно иметь возможность программно добавлять и удалять вкладки на wxNotebook с помощью текста / метки, отображаемой на каждой вкладке.
В окнах, используя элемент управления вкладками и страницы вкладок, я смогу ссылаться на каждую вкладку по клавише. Элемент управления вкладками имеет карту страниц вкладок, набранную по тексту каждой вкладки.
2 ответа
Используйте следующий вспомогательный метод для преобразования метки / текста вкладки в соответствующий индекс wxNotebookPage. Получив индекс wxNotebookPage, вы сможете использовать все методы wxNotebook, которые ожидают индекс страницы в качестве аргумента.
int TabTestFrame::GetIndexForPageName( wxString tabText)
{
int end = Notebook1->GetPageCount();
wxString selectedtabText = "";
for ( int i = 0; i < end; i++)
{
selectedtabText = Notebook1->GetPageText(i);
if (tabText == selectedtabText)
return i;
}
return -1;
}
Посмотрите на API wxNoteBook
Такие функции, как GetPage, возвращают указатель wxPanel, а функция SetPageText позволяет изменять заголовок, а также функции, такие как AddPage и DeletePage, позволяют динамически изменять страницы.