我正在尝试使用 wxAuiToolBar 类来替代现有的 wxToolbar。
我的初始化工作正常——我什至可以将嵌入/矢量化的 .png 文件设置为项目的位图,这真的很酷——但我希望用户能够指定他们的工具栏大小想要(16x16、22x22 或 32x32)。我认为这意味着为每个工具栏项调用 wxAuiToolBarItem.SetBitmap(),然后调用 wxToolBar.Realize() 来重绘更改。如果有更好的方法可以纠正我!
例如,我有一个标准的文件工具栏,带有新建/打开/保存/打印按钮。这些被添加到成员 wxAuiManager 中,如下所示:
auiFileToolBar = new wxAuiToolbar(pFrame, ID_AUIFILETOOLBAR, wxDefaultPosition, wxDefaultSize, wxAUI_TB_DEFAULT_STYLE);
auiFileToolBar->AddTool(ID_TBI_FILE_NEW, _("New"), wxNullBitmap, wxNullBitmap, wxITEM_NORMAL, wxEmptyString, wxEmptyString, NULL);
// ... other toolbar items
auiFileToolBar->Realize();
m_AuiManager->AddPane(auiFileToolBar, wxAuiPaneInfo().Name(_T("File")).ToolbarPane().Caption(_T("File")).Layer(10).Top.Gripper(false));
既然我已经完成了所有设置,那么在给定与框架关联的成员 wxAuiManager (m_AuiManager) 的情况下,我如何获得给定的 ToolBarItem?或者有没有更好的方法来调整工具栏的大小?