wxWidgets AddRoot () на wxTreeCtrl не может добавить более одного узла - PullRequest
4 голосов
/ 05 сентября 2010

Я использую wxWidgets 2.8.11 в Windows 7 64 Bit. Я создал элемент управления wxTreeCtrl, который, как следует из названия, является древовидным элементом управления. Вы можете добавить корневые узлы, вызвав AddRoot (), однако, похоже, он работает только при первом вызове.

Вот код, где я создаю Дерево:

newHandler-> sendPacketTree = new wxTreeCtrl(newHandler->sendGroupBox,4,wxPoint(7,12),wxSize(newHandler->sendGroupBox->GetSize().x-14,newHandler->sendGroupBox->GetSize().y-20),wxTR_DEFAULT_STYLE);

Вот что я делаю в качестве теста:

this->sendPacketTree->AddRoot(wxT("Test1"));
this->sendPacketTree->AddRoot(wxT("Test2"));

Однако в дереве появляется только первый корневой узел, а второй узел не появляется (или любой другой узел после первого узла в этом отношении)

Кто-нибудь знает, почему это происходит, или как я могу обойти это? Я в тупике.

1 Ответ

4 голосов
/ 05 сентября 2010

Я нашел решение самостоятельно. Я думал, что AddRoot () позволяет вам добавить более одного рута. Оказывается, у вас может быть только один корень, но вы можете скрыть фактический «корень», и любые дочерние элементы корня будут выглядеть как корень с набором стилей wxTR_HIDE_ROOT.

...