【发布时间】:2016-02-15 11:58:18
【问题描述】:
我是 wxWigets 库的初学者。我无法在 wxToolbar 中添加组合框。谁能帮我?代码编译得很好,但是当我将 wxComboBox 添加到其中时,容器窗口无法正确显示。
CFrame* itemCMultiFrame1 = this;
wxBitmap* toolsBitmaps[1];
toolsBitmaps[0] = new wxBitmap(open_xpm);
wxToolBar* toolBar = new wxToolBar(this, 12423, wxDefaultPosition,
wxDefaultSize, wxTB_NODIVIDER | wxTB_FLAT | wxTB_HORIZONTAL);
wxArrayString strings;
strings.Add(wxT("1"));
strings.Add(wxT("2"));
strings.Add(wxT("3"));
strings.Add(wxT("4"));
wxComboBox* combo = new wxComboBox(this, 12322,wxT("1"), wxDefaultPosition, wxDefaultSize,strings, wxCB_DROPDOWN);
toolBar->AddTool(wxID_SAVE, wxT("open.xpm"), *toolsBitmaps[0], wxT("Select file"), wxITEM_CHECK);
toolBar->AddControl(combo);
toolBar->EnableTool(wxID_SAVE,true);
toolBar->EnableTool(12322, true);
toolBar->SetMargins(0, 0);
wxBoxSizer* itemBoxSizer10 = new wxBoxSizer(wxHORIZONTAL);
itemBoxSizer10->Add(toolBar, 0, wxEXPAND, 0);
toolBar->Realize();
itemCMultiFrame1->SetToolBar(toolBar);
【问题讨论】:
-
既然您试图将组合框添加到工具栏,那么用指针替换
wxComboBox构造函数中的this(即CFrame指针)不是很好吗到wxToolBar,在你的情况下是toolBar?