wxWidgets控件——wxAuiNotebook

wxAuiNotebook—style(各样式用法和效果)

wxAuiNotebook 提供了多种样式选项,这些样式可以用来定制多页界面的外观和行为。以下是图中列出的各个样式的具体用法和效果:

wxAUI_NB_BOTTOM

  • 用途:将标签放置在窗口底部。
  • 效果:标签栏会出现在窗口的底部,而不是默认的顶部。

wxAUI_NB_CLOSE_BUTTON

  • 用途:为每个标签添加一个关闭按钮。
  • 效果:每个标签上都会有一个关闭按钮,用户可以通过点击该按钮来关闭对应的页面。

wxAUI_NB_CLOSE_ON_ACTIVE_TAB

  • 用途:仅在活动标签上显示关闭按钮。
  • 效果:只有当前激活的标签上有关闭按钮,其他标签没有。

wxAUI_NB_CLOSE_ON_ALL_TABS

  • 用途:在所有标签上都显示关闭按钮。
  • 效果:每个标签上都有关闭按钮,用户可以关闭任意一个页面。

wxAUI_NB_DEFAULT_STYLE

  • 用途:使用默认样式。
  • 效果:应用默认的样式设置,通常包括基本的布局和功能。

wxAUI_NB_MIDDLE_CLICK_CLOSE

  • 用途:允许通过鼠标中键点击关闭标签。
  • 效果:用户可以通过点击鼠标中键来关闭当前激活的标签。

wxAUI_NB_SCROLL_BUTTONS

  • 用途:启用滚动按钮以处理超出屏幕宽度的标签。
  • 效果:当标签数量超过屏幕宽度时,会出现滚动按钮,用户可以通过点击滚动按钮查看和选择更多的标签。

wxAUI_NB_TAB_EXTERNAL_MOVE

  • 用途:允许用户拖动标签到外部窗口。
  • 效果:用户可以将标签拖出主窗口,形成独立的浮动窗口。

wxAUI_NB_TAB_FIXED_WIDTH

  • 用途:固定标签的宽度。
  • 效果:所有标签的宽度相同,不会根据内容自动调整。

wxAUI_NB_TAB_MOVE

  • 用途:允许用户拖动标签以改变顺序。
  • 效果:用户可以通过拖动标签来重新排列它们的顺序。

wxAUI_NB_TAB_SPLIT

  • 用途:允许用户拆分标签页。
  • 效果:用户可以通过拖动标签来创建新的标签组或拆分现有的标签组。

wxAUI_NB_TOP

  • 用途:将标签放置在窗口顶部(这是默认位置)。
  • 效果:标签栏会出现在窗口的顶部。

wxAUI_NB_WINDOWLIST_BUTTON

  • 用途:显示一个按钮,点击后弹出一个包含所有标签的列表。
  • 效果:提供一个按钮,用户点击后会看到一个包含所有标签的列表,方便快速切换页面。

示例代码

下面是一个示例代码,展示了如何使用 wxAuiNotebook 并设置不同的样式:

#include <wx/wx.h>
#include <wx/aui/auibook.h>

class MyFrame : public wxFrame {
public:
    MyFrame(const wxString& title)
        : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(800, 600)) {
        // 创建一个AuiNotebook
        wxAuiNotebook* notebook = new wxAuiNotebook(this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
                                                    wxAUI_NB_TOP | wxAUI_NB_CLOSE_BUTTON);

        // 添加第一个页面
        wxPanel* panel1 = new wxPanel(notebook, wxID_ANY);
        notebook->AddPage(panel1, "Tab 1");

        // 添加第二个页面
        wxPanel* panel2 = new wxPanel(notebook, wxID_ANY);
        notebook->AddPage(panel2, "Tab 2");

        // 设置初始布局
        this->Layout();
    }
};

class MyApp : public wxApp {
public:
    virtual bool OnInit() {
        MyFrame* frame = new MyFrame("wxAuiNotebook 示例");
        frame->Show(true);
        return true;
    }
};

wxIMPLEMENT_APP(MyApp);

通过合理组合这些样式,你可以定制 wxAuiNotebook 的外观和行为,使其更符合你的应用程序需求。例如,你可以设置标签的位置、是否显示关闭按钮、是否允许拖动标签等。这些样式提供了极大的灵活性,帮助你创建更加美观和易用的多页界面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值