如果我创建一个wxNotebook并用几个页面填充它,那么wxNotebook的内容区域在每个选项卡上都是相同的大小(内容最大的页面的大小)。有没有一种方法可以动态地调整wxNotebook的大小,使其仅与在该视图中包含面板所需的大小一样大,例如当抛出EVT_NOTEBOOK_PAGE_CHANGED时?
发布于 2012-07-04 23:20:46
我设法调整了wxNotebook的大小,但我无法通过编程获得选项卡的大小。我在笔记本中添加面板,我知道每个面板的大小。所以我连接了这个事件:
m_notebook->Connect(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED, wxNotebookEventHandler(MyClass::OnTabSelect), NULL, this);下面是一个事件监听器示例:
void MyClass::OnTabSelect( wxNotebookEvent& event )
{
wxSize s = GetSize();
int tabIndex = event.GetSelection();
s.x = m_tabWidth[tabIndex];
s.y = m_tabHeight[tabIndex];
SetSize(s);
Refresh();
event.Skip();
}https://stackoverflow.com/questions/6540844
复制相似问题