查看源代码 wxAuiNotebook (wx v2.4.3)

wxAuiNotebook 是 wxAUI 类框架的一部分,它表示一个笔记本控件,管理多个带有相关选项卡的窗口。

另请参阅 overview_aui。

wxAuiNotebook 是一个笔记本控件,它实现了具有可停靠窗格的应用程序中常见的许多功能。具体来说,wxAuiNotebook 实现了允许用户通过拖放重新排列选项卡顺序、将选项卡窗口拆分为多种不同的拆分器配置以及切换不同的主题以自定义控件外观的功能。

使用的默认主题是 wxAuiDefaultTabArt(未在 wx 中实现),它提供了现代、光滑的外观。可以通过调用 setArtProvider/2 来更改主题。

样式

此类支持以下样式

  • wxAUI_NB_DEFAULT_STYLE: 定义为 wxAUI_NB_TOP | wxAUI_NB_TAB_SPLIT | wxAUI_NB_TAB_MOVE | wxAUI_NB_SCROLL_BUTTONS | wxAUI_NB_CLOSE_ON_ACTIVE_TAB | wxAUI_NB_MIDDLE_CLICK_CLOSE。

  • wxAUI_NB_TAB_SPLIT: 允许通过拖动选项卡来拆分选项卡控件。

  • wxAUI_NB_TAB_MOVE: 允许通过拖动水平移动选项卡。

  • wxAUI_NB_TAB_EXTERNAL_MOVE: 允许将选项卡移动到另一个选项卡控件。

  • wxAUI_NB_TAB_FIXED_WIDTH: 使用此样式,所有选项卡都具有相同的宽度。

  • wxAUI_NB_SCROLL_BUTTONS: 使用此样式,将显示左右滚动按钮。

  • wxAUI_NB_WINDOWLIST_BUTTON: 使用此样式,可以使用窗口的下拉列表。

  • wxAUI_NB_CLOSE_BUTTON: 使用此样式,选项卡栏上可以使用关闭按钮。

  • wxAUI_NB_CLOSE_ON_ACTIVE_TAB: 使用此样式,关闭按钮在活动选项卡上可见。

  • wxAUI_NB_CLOSE_ON_ALL_TABS: 使用此样式,关闭按钮在所有选项卡上可见。

  • wxAUI_NB_MIDDLE_CLICK_CLOSE: 使用此样式,在选项卡上单击鼠标中键将关闭选项卡。

  • wxAUI_NB_TOP: 使用此样式,选项卡沿笔记本的顶部绘制。

  • wxAUI_NB_BOTTOM: 使用此样式,选项卡沿笔记本的底部绘制。

此类派生自,并且可以使用以下函数

wxWidgets 文档:wxAuiNotebook

事件

从此类发出的事件类型

摘要

函数

添加一个页面。

创建笔记本窗口。

使用给定的参数构造书控件。

删除给定索引处的页面。

销毁对象

返回关联的艺术提供程序。

返回由给定索引指定的页面。

返回页面的选项卡位图。

返回笔记本中的页面数。

返回指定窗口的页面索引。

返回页面的选项卡标签。

返回当前选定的页面。

insertPage/6 类似于 AddPage,但允许指定插入位置。

在指定位置插入一个新页面。

默认构造函数。

构造函数。

删除页面,而不删除窗口指针。

设置笔记本要使用的艺术提供程序。

设置用于绘制选项卡标签的字体,对选定的选项卡标签使用粗体版本的字体。

设置页面的位图。

设置页面的选项卡标签。

设置页面选择。

设置选项卡高度。

确保所有选项卡都具有相同的高度,即使某些选项卡没有位图。

类型

-type wxAuiNotebook() :: wx:wx_object().

函数

链接到此函数

addPage(This, Page, Caption)

查看源代码
-spec addPage(This, Page, Caption) -> boolean()
                 when
                     This :: wxAuiNotebook(), Page :: wxWindow:wxWindow(), Caption :: unicode:chardata().

等同于 addPage(This, Page, Caption, [])

-spec addPage(This, Page, Caption, [Option]) -> boolean()
                 when
                     This :: wxAuiNotebook(),
                     Page :: wxWindow:wxWindow(),
                     Caption :: unicode:chardata(),
                     Option :: {select, boolean()} | {bitmap, wxBitmap:wxBitmap()}.

添加一个页面。

如果 select 参数为 true,则调用此方法将生成页面更改事件。

链接到此函数

addPage(This, Page, Text, Select, ImageId)

查看源代码
-spec addPage(This, Page, Text, Select, ImageId) -> boolean()
                 when
                     This :: wxAuiNotebook(),
                     Page :: wxWindow:wxWindow(),
                     Text :: unicode:chardata(),
                     Select :: boolean(),
                     ImageId :: integer().

添加一个新页面。

页面必须将书控件本身作为父级,并且以前不得添加到此控件。

对此函数的调用可能会生成页面更改事件。

返回:如果成功,则返回 true,否则返回 false。

备注:不要删除页面,它将由书控件删除。

请参阅:insertPage/6

自:2.9.3

-spec create(This, Parent) -> boolean() when This :: wxAuiNotebook(), Parent :: wxWindow:wxWindow().

等同于 create(This, Parent, [])

-spec create(This, Parent, Winid) -> boolean()
                when This :: wxAuiNotebook(), Parent :: wxWindow:wxWindow(), Winid :: integer();
            (This, Parent, [Option]) -> boolean()
                when
                    This :: wxAuiNotebook(),
                    Parent :: wxWindow:wxWindow(),
                    Option ::
                        {id, integer()} |
                        {pos, {X :: integer(), Y :: integer()}} |
                        {size, {W :: integer(), H :: integer()}} |
                        {style, integer()}.

创建笔记本窗口。

-spec create(This, Parent, Winid, [Option]) -> boolean()
                when
                    This :: wxAuiNotebook(),
                    Parent :: wxWindow:wxWindow(),
                    Winid :: integer(),
                    Option ::
                        {pos, {X :: integer(), Y :: integer()}} |
                        {size, {W :: integer(), H :: integer()}} |
                        {style, integer()}.

使用给定的参数构造书控件。

链接到此函数

deletePage(This, Page)

查看源代码
-spec deletePage(This, Page) -> boolean() when This :: wxAuiNotebook(), Page :: integer().

删除给定索引处的页面。

调用此方法将生成页面更改事件。

-spec destroy(This :: wxAuiNotebook()) -> ok.

销毁对象

-spec getArtProvider(This) -> wxAuiTabArt:wxAuiTabArt() when This :: wxAuiNotebook().

返回关联的艺术提供程序。

链接到此函数

getPage(This, Page_idx)

查看源代码
-spec getPage(This, Page_idx) -> wxWindow:wxWindow() when This :: wxAuiNotebook(), Page_idx :: integer().

返回由给定索引指定的页面。

链接到此函数

getPageBitmap(This, Page)

查看源代码
-spec getPageBitmap(This, Page) -> wxBitmap:wxBitmap() when This :: wxAuiNotebook(), Page :: integer().

返回页面的选项卡位图。

-spec getPageCount(This) -> integer() when This :: wxAuiNotebook().

返回笔记本中的页面数。

链接到此函数

getPageIndex(This, Page_wnd)

查看源代码
-spec getPageIndex(This, Page_wnd) -> integer()
                      when This :: wxAuiNotebook(), Page_wnd :: wxWindow:wxWindow().

返回指定窗口的页面索引。

如果在笔记本中找不到窗口,则返回 wxNOT_FOUND。

链接到此函数

getPageText(This, Page)

查看源代码
-spec getPageText(This, Page) -> unicode:charlist() when This :: wxAuiNotebook(), Page :: integer().

返回页面的选项卡标签。

-spec getSelection(This) -> integer() when This :: wxAuiNotebook().

返回当前选定的页面。

链接到此函数

insertPage(This, Page_idx, Page, Caption)

查看源代码
-spec insertPage(This, Page_idx, Page, Caption) -> boolean()
                    when
                        This :: wxAuiNotebook(),
                        Page_idx :: integer(),
                        Page :: wxWindow:wxWindow(),
                        Caption :: unicode:chardata().

等同于 insertPage(This, Page_idx, Page, Caption, [])

-spec insertPage(This, Page_idx, Page, Caption, [Option]) -> boolean()
                    when
                        This :: wxAuiNotebook(),
                        Page_idx :: integer(),
                        Page :: wxWindow:wxWindow(),
                        Caption :: unicode:chardata(),
                        Option :: {select, boolean()} | {bitmap, wxBitmap:wxBitmap()}.

insertPage/6 类似于 AddPage,但允许指定插入位置。

如果 select 参数为 true,则调用此方法将生成页面更改事件。

链接到此函数

insertPage(This, Index, Page, Text, Select, ImageId)

查看源代码
-spec insertPage(This, Index, Page, Text, Select, ImageId) -> boolean()
                    when
                        This :: wxAuiNotebook(),
                        Index :: integer(),
                        Page :: wxWindow:wxWindow(),
                        Text :: unicode:chardata(),
                        Select :: boolean(),
                        ImageId :: integer().

在指定位置插入一个新页面。

返回:如果成功,则返回 true,否则返回 false。

备注:不要删除页面,它将由书控件删除。

请参阅:addPage/5

自:2.9.3

-spec new() -> wxAuiNotebook().

默认构造函数。

-spec new(Parent) -> wxAuiNotebook() when Parent :: wxWindow:wxWindow().

等同于 new(Parent, [])

-spec new(Parent, [Option]) -> wxAuiNotebook()
             when
                 Parent :: wxWindow:wxWindow(),
                 Option ::
                     {id, integer()} |
                     {pos, {X :: integer(), Y :: integer()}} |
                     {size, {W :: integer(), H :: integer()}} |
                     {style, integer()}.

构造函数。

创建一个 wxAuiNotebok 控件。

链接到此函数

removePage(This, Page)

查看源代码
-spec removePage(This, Page) -> boolean() when This :: wxAuiNotebook(), Page :: integer().

删除页面,而不删除窗口指针。

链接到此函数

setArtProvider(This, Art)

查看源代码
-spec setArtProvider(This, Art) -> ok when This :: wxAuiNotebook(), Art :: wxAuiTabArt:wxAuiTabArt().

设置笔记本要使用的艺术提供程序。

-spec setFont(This, Font) -> boolean() when This :: wxAuiNotebook(), Font :: wxFont:wxFont().

设置用于绘制选项卡标签的字体,对选定的选项卡标签使用粗体版本的字体。

链接到此函数

setPageBitmap(This, Page, Bitmap)

查看源代码
-spec setPageBitmap(This, Page, Bitmap) -> boolean()
                       when This :: wxAuiNotebook(), Page :: integer(), Bitmap :: wxBitmap:wxBitmap().

设置页面的位图。

要从选项卡标题中删除位图,请传递 wxNullBitmap。

链接到此函数

setPageText(This, Page, Text)

查看源代码
-spec setPageText(This, Page, Text) -> boolean()
                     when This :: wxAuiNotebook(), Page :: integer(), Text :: unicode:chardata().

设置页面的选项卡标签。

链接到此函数

setSelection(This, New_page)

查看源代码
-spec setSelection(This, New_page) -> integer() when This :: wxAuiNotebook(), New_page :: integer().

设置页面选择。

调用此方法将生成页面更改事件。

链接到此函数

setTabCtrlHeight(This, Height)

查看源代码
-spec setTabCtrlHeight(This, Height) -> ok when This :: wxAuiNotebook(), Height :: integer().

设置选项卡高度。

默认情况下,选项卡控件的高度是通过测量选项卡标题上的文本高度和位图大小来计算的。调用此方法将覆盖该计算并将选项卡控件设置为指定的高度参数。调用此方法将覆盖对 setUniformBitmapSize/2 的任何调用。

将 -1 指定为高度将使控件恢复到其默认的自动调整大小行为。

链接到此函数

setUniformBitmapSize(This, Size)

查看源代码
-spec setUniformBitmapSize(This, Size) -> ok
                              when This :: wxAuiNotebook(), Size :: {W :: integer(), H :: integer()}.

确保所有选项卡都具有相同的高度,即使某些选项卡没有位图。

将 ?wxDefaultSize 作为 size 传递会撤消先前调用此函数的效果,并指示控件使用动态选项卡高度。