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

此类表示一个笔记本控件,用于管理带有相关选项卡的多个窗口。

要使用此类,请创建一个 wxNotebook 对象,并调用 wxBookCtrlBase:addPage/4wxBookCtrlBase:insertPage/5,传递一个要用作页面的窗口。不要显式删除当前由 wxNotebook 管理的页面的窗口。

wxNotebookPagewxWindow 的类型定义。

样式

此类支持以下样式

  • wxNB_TOP:将选项卡放置在顶部。

  • wxNB_LEFT:将选项卡放置在左侧。

  • wxNB_RIGHT:将选项卡放置在右侧。

  • wxNB_BOTTOM:将选项卡放置在笔记本页面的下方而不是上方。

  • wxNB_FIXEDWIDTH:(仅限 Windows) 所有选项卡将具有相同的宽度。

  • wxNB_MULTILINE:(仅限 Windows) 可以有多行选项卡。

  • wxNB_NOPAGETHEME:(仅限 Windows) 在笔记本页面上显示纯色,而不是渐变色,这可以降低性能。当使用视觉主题时,Microsoft Windows 不支持 wxNB_LEFT、RIGHT 和 BOTTOM 样式。

页面背景

在 Windows 上,默认主题会在笔记本的页面上绘制背景。如果您希望出于美观或性能原因抑制此主题,有三种方法可以做到这一点。您可以使用 wxNB_NOPAGETHEME 为特定笔记本禁用主题绘制,您可以调用 wxSystemOptions:setOption/2 为整个应用程序禁用它,或者您可以通过使用 wxWindow:setBackgroundColour/2 为单个页面禁用它。

要全局禁用主题页面

将值设置为 1 以再次启用它。要为单个页面提供一个或多或少符合整体主题的纯色背景,请使用

在 Windows 以外的平台上,或者如果应用程序未使用 Windows 主题,getThemeBackgroundColour/1 将返回一个未初始化的颜色对象,因此上述代码将在所有平台上都有效。

请参阅

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

wxWidgets 文档:wxNotebook

事件

从此类发出的事件类型

摘要

函数

为页面控件设置图像列表并获取列表的所有权。

创建一个笔记本控件。

销毁对象

返回关联的图像列表,可能为 NULL。

返回给定页面的图像索引。

返回笔记本控件中的行数。

如果在 Windows 下运行且应用程序启用了主题,则此函数会返回一个适合用于绘制笔记本页面背景的颜色,并且可以传递给 wxWindow:setBackgroundColour/2

构造一个笔记本控件。

构造一个笔记本控件。

设置要使用的图像列表。

设置每个页面的图标和标签周围的间距量(以像素为单位)。

设置给定页面的图像索引。

设置页面的宽度和高度。

类型

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

函数

链接到此函数

assignImageList(This, ImageList)

查看源代码
-spec assignImageList(This, ImageList) -> ok
                         when This :: wxNotebook(), ImageList :: wxImageList:wxImageList().

为页面控件设置图像列表并获取列表的所有权。

请参阅

链接到此函数

create(This, Parent, Id)

查看源代码
-spec create(This, Parent, Id) -> boolean()
                when This :: wxNotebook(), Parent :: wxWindow:wxWindow(), Id :: integer().

等效于 create(This, Parent, Id, [])

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

创建一个笔记本控件。

有关参数的说明,请参阅 new/3

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

销毁对象

-spec getImageList(This) -> wxImageList:wxImageList() when This :: wxNotebook().

返回关联的图像列表,可能为 NULL。

请参阅

链接到此函数

getPageImage(This, NPage)

查看源代码
-spec getPageImage(This, NPage) -> integer() when This :: wxNotebook(), NPage :: integer().

返回给定页面的图像索引。

-spec getRowCount(This) -> integer() when This :: wxNotebook().

返回笔记本控件中的行数。

链接到此函数

getThemeBackgroundColour(This)

查看源代码
-spec getThemeBackgroundColour(This) -> wx:wx_colour4() when This :: wxNotebook().

如果在 Windows 下运行且应用程序启用了主题,则此函数会返回一个适合用于绘制笔记本页面背景的颜色,并且可以传递给 wxWindow:setBackgroundColour/2

否则,将返回一个未初始化的颜色。

-spec new() -> wxNotebook().

构造一个笔记本控件。

-spec new(Parent, Id) -> wxNotebook() when Parent :: wxWindow:wxWindow(), Id :: integer().

等效于 new(Parent, Id, [])

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

构造一个笔记本控件。

请注意,有时您可以通过传递 wxCLIP_CHILDREN 窗口样式来减少闪烁。

链接到此函数

setImageList(This, ImageList)

查看源代码
-spec setImageList(This, ImageList) -> ok
                      when This :: wxNotebook(), ImageList :: wxImageList:wxImageList().

设置要使用的图像列表。

它不获取图像列表的所有权,您必须自己删除它。

请参阅

链接到此函数

setPadding(This, Padding)

查看源代码
-spec setPadding(This, Padding) -> ok
                    when This :: wxNotebook(), Padding :: {W :: integer(), H :: integer()}.

设置每个页面的图标和标签周围的间距量(以像素为单位)。

注意:在 wxGTK 中无法更改垂直填充。

链接到此函数

setPageImage(This, Page, Image)

查看源代码
-spec setPageImage(This, Page, Image) -> boolean()
                      when This :: wxNotebook(), Page :: integer(), Image :: integer().

设置给定页面的图像索引。

image 是图像列表中使用 setImageList/2 设置的索引。

链接到此函数

setPageSize(This, Size)

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

设置页面的宽度和高度。

注意:此方法当前未针对 wxGTK 实现。