Программно добавлять / удалять вкладки на wxNotebook с помощью PageText - PullRequest
1 голос
/ 09 мая 2009

Мне нужно иметь возможность программно добавлять и удалять вкладки на wxNotebook с помощью текста / метки, отображаемой на каждой вкладке.

В окнах, используя элементы управления вкладками и страницы вкладок, я смогу ссылаться на каждую вкладку по клавише. Элемент управления вкладками имеет карту страниц вкладок, набранную по тексту каждой вкладки.

Ответы [ 2 ]

1 голос
/ 09 мая 2009

Посмотрите на wxNoteBook API

Такие функции, как GetPage вернут указатель wxPanel, а функция SetPageText позволит вам изменить заголовок, а также функции, такие как AddPage и DeletePage позволит вам динамически изменять страницы.

0 голосов
/ 11 мая 2009

Используйте следующий вспомогательный метод для преобразования метки / текста вкладки в соответствующий индекс 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;
 }
...