i erstellt diesen einfachen WxWidgets App in wxFormbuilder:Ribbon-Menü Leerzeichen
Wie Sie sehen können, gibt es eine seltsame Leerzeichen auf dem Band-Menü Registerkarten. Gibt es etwas, das ich vermisse? Es wäre auf jeden Fall besser, wenn das Farbbandmenü direkt nach oben links ausgerichtet wäre. Für den Fall, jemand es will, hier ist der Code von wxFormbuilder generiert:
this->SetSizeHints(wxSize(183,146), wxDefaultSize);
wxBoxSizer* bSizer4;
bSizer4 = new wxBoxSizer(wxVERTICAL);
m_ribbonBar1 = new wxRibbonBar(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxRIBBON_BAR_DEFAULT_STYLE);
m_ribbonBar1->SetArtProvider(new wxRibbonAUIArtProvider);
m_ribbonPage1 = new wxRibbonPage(m_ribbonBar1, wxID_ANY, wxT("File") , wxNullBitmap , 0);
m_ribbonBar1->SetActivePage(m_ribbonPage1);
m_ribbonPanel1 = new wxRibbonPanel(m_ribbonPage1, wxID_ANY, wxT("File") , wxNullBitmap , wxDefaultPosition, wxDefaultSize, wxRIBBON_PANEL_DEFAULT_STYLE);
m_rbtnBar = new wxRibbonButtonBar(m_ribbonPanel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
m_rbtnBar->AddButton(wxID_ANY, wxT("New"), wxNullBitmap, wxEmptyString);
m_rbtnBar->AddButton(wxID_ANY, wxT("Save"), wxNullBitmap, wxEmptyString);
m_rbtnBar->AddButton(wxID_ANY, wxT("Load"), wxNullBitmap, wxEmptyString);
m_ribbonPage2 = new wxRibbonPage(m_ribbonBar1, wxID_ANY, wxT("View") , wxNullBitmap , 0);
m_ribbonBar1->SetActivePage(m_ribbonPage2);
m_ribbonPanel21 = new wxRibbonPanel(m_ribbonPage2, wxID_ANY, wxT("View") , wxNullBitmap , wxDefaultPosition, wxDefaultSize, wxRIBBON_PANEL_DEFAULT_STYLE);
m_ribbonButtonBar21 = new wxRibbonButtonBar(m_ribbonPanel21, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
m_ribbonButtonBar21->AddButton(wxID_ANY, wxT("Do something"), wxNullBitmap, wxEmptyString);
m_ribbonButtonBar21->AddButton(wxID_ANY, wxT("Do something else"), wxNullBitmap, wxEmptyString);
m_ribbonBar1->Realize();
bSizer4->Add(m_ribbonBar1, 0, wxEXPAND, 5);
wxBoxSizer* mainSizer;
mainSizer = new wxBoxSizer(wxVERTICAL);
m_ntbkMain = new wxNotebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0);
m_panel1 = new wxPanel(m_ntbkMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
wxBoxSizer* bSizer6;
bSizer6 = new wxBoxSizer(wxHORIZONTAL);
wxBoxSizer* bSizer7;
bSizer7 = new wxBoxSizer(wxVERTICAL);
m_button11 = new wxButton(m_panel1, wxID_ANY, wxT("MyButton"), wxDefaultPosition, wxDefaultSize, 0);
bSizer7->Add(m_button11, 0, wxALL, 5);
m_button12 = new wxButton(m_panel1, wxID_ANY, wxT("MyButton"), wxDefaultPosition, wxDefaultSize, 0);
bSizer7->Add(m_button12, 0, wxALL, 5);
m_button13 = new wxButton(m_panel1, wxID_ANY, wxT("MyButton"), wxDefaultPosition, wxDefaultSize, 0);
bSizer7->Add(m_button13, 0, wxALL, 5);
bSizer6->Add(bSizer7, 1, wxEXPAND, 5);
m_panel1->SetSizer(bSizer6);
m_panel1->Layout();
bSizer6->Fit(m_panel1);
m_ntbkMain->AddPage(m_panel1, wxT("Tab 1"), true);
m_panel2 = new wxPanel(m_ntbkMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
m_ntbkMain->AddPage(m_panel2, wxT("a page"), false);
m_panel3 = new wxPanel(m_ntbkMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
m_ntbkMain->AddPage(m_panel3, wxT("a page"), false);
m_panel4 = new wxPanel(m_ntbkMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
m_ntbkMain->AddPage(m_panel4, wxT("a page"), false);
mainSizer->Add(m_ntbkMain, 1, wxEXPAND, 5);
bSizer4->Add(mainSizer, 1, wxEXPAND, 5);
this->SetSizer(bSizer4);
this->Layout();
this->Centre(wxBOTH);
Was sind Sie wx und Windows-Version? Kannst du das in der Probe reproduzieren? – Igor
@Igor Windows 10 Bildung 64-Bit, WxWidgets 3.1.0 aus der Quelle gebaut. Ich habe es nicht ausprobiert, so sieht es auch im wxFormbuilder Designer aus. – calcyss
versuchen Sie das Beispiel. Wenn es funktioniert, sehen Sie, was mit Ihrem Code anders ist. wenn nicht - naja, poste nach wx-dev oder öffne ein Ticket auf trac.wxwidgets.org. Probieren Sie auch die tatsächlich kompilierte App-Binärdatei aus - manchmal kann das RAD-Tool irreführend sein. – Igor