gpt4 book ai didi

c++ - wxWidgets ribbonBar 占据整个窗口

转载 作者:行者123 更新时间:2023-11-28 07:49:06 32 4
gpt4 key购买 nike

在过去的一天里,我一直在弄清楚如何获得一个 wxRibbon 栏。这需要一些工作,但我终于得到了一个功能区。除了功能区栏占据了整个窗口,除了我的应用程序右侧的一小块空间。

我用来在主窗口中测试的代码如下:

Win_app::Win_app(const wxString& title)
: wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(640, 480))
{

wxRibbonBar* mainMenu = new wxRibbonBar(this,-1,wxDefaultPosition,wxSize(20,40));


wxRibbonPage* home = new wxRibbonPage(mainMenu, wxID_ANY, wxT("Home"));

wxRibbonPanel *test_panel1 = new wxRibbonPanel(home, wxID_ANY, wxT("Panel 1"),
wxNullBitmap, wxDefaultPosition, wxSize(320,60));

wxRibbonPanel *test_panel2 = new wxRibbonPanel(home, wxID_ANY, wxT("Panel 2"),
wxNullBitmap, wxDefaultPosition, wxSize(320,60));

wxRibbonPage* page = new wxRibbonPage(mainMenu, wxID_ANY, wxT("Another Page"));

wxRibbonPanel *test_panel3 = new wxRibbonPanel(page, wxID_ANY, wxT("Panel 3"),
wxNullBitmap, wxDefaultPosition, wxSize(640,60));


mainMenu->Realize();


Centre();
}

我正在使用 wxWidgets 2.9.4。任何帮助将非常感激!感谢阅读。

最佳答案

我建议您查看位于 wxdir\samples\ribbon 的 wxWidgets 安装中的功能区示例。它看起来与您的代码大致相同,但主要区别在于它将 wxRibbonBar 添加到 sizer:

wxSizer *s = new wxBoxSizer(wxVERTICAL);

s->Add(m_ribbon, 0, wxEXPAND);
s->Add(m_logwindow, 1, wxEXPAND);
s->Add(m_togglePanels, wxSizerFlags().Border());

SetSizer(s);

您需要这样做,因为如果对话框上只有一个控件,它会自动填充对话框,在您的情况下这是不需要的行为。

关于c++ - wxWidgets ribbonBar 占据整个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14224415/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com