既存の wxToolbar の代わりとして wxAuiToolBar クラスを試しています。
私の初期化は正常に動作しています - 埋め込まれた/ベクトル化された .png ファイルをアイテムのビットマップとして設定することさえできます。これは本当にクールです - しかし、ユーザーがツールバーのサイズを指定できるようにしたいと思いますしたい (16x16、22x22 または 32x32)。これは、各ツールバー項目に対して wxAuiToolBarItem.SetBitmap() を呼び出し、次に wxToolBar.Realize() を呼び出して変更を再描画することを意味すると思います。これを行うためのより良い方法があれば、私を修正してください!
例として、新規/開く/保存/印刷ボタンを備えた標準のファイル ツールバーがあります。これらは、次のようにメンバー wxAuiManager guy に追加されます。
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 を取得するにはどうすればよいでしょうか? または、ツールバーのサイズを変更するより良い方法はありますか?