---
name: "wxNotebook"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:25.2.3+dfsg-1+deb12u4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/wxNotebook"
---

# wxNotebook(3erl)

Functions for wxNotebook class

## NAME

wxNotebook - Functions for wxNotebook class

## DESCRIPTION

This class represents a notebook control, which manages multiple windows with associated tabs.

To use the class, create a *wxNotebook* object and call *wxBookCtrlBase:addPage/4* or *wxBookCtrlBase:insertPage/5*, passing a window to be used as the page. Do not explicitly delete the window for a page that is currently managed by *wxNotebook*.

*wxNotebookPage* is a typedef for *wxWindow*.

Styles

This class supports the following styles:

Page backgrounds

On Windows, the default theme paints a background on the notebook's pages. If you wish to suppress this theme, for aesthetic or performance reasons, there are three ways of doing it. You can use *wxNB\_NOPAGETHEME* to disable themed drawing for a particular notebook, you can call *wxSystemOptions:setOption/2* to disable it for the whole application, or you can disable it for individual pages by using *wxWindow:setBackgroundColour/2*.

To disable themed pages globally:

Set the value to 1 to enable it again. To give a single page a solid background that more or less fits in with the overall theme, use:

On platforms other than Windows, or if the application is not using Windows themes, *getThemeBackgroundColour/1* will return an uninitialised colour object, and the above code will therefore work on all platforms.

See: ?wxBookCtrl, *wxBookCtrlEvent*, *wxImageList*, Examples

This class is derived (and can use functions) from: *wxBookCtrlBase* *wxControl* *wxWindow* *wxEvtHandler*

wxWidgets docs: wxNotebook

## EVENTS

Event types emitted from this class: *command\_notebook\_page\_changed*, *command\_notebook\_page\_changing*

## DATA TYPES

```
wxNotebook() = wx:wx_object()
```

## EXPORTS

```
new() -> wxNotebook()
```

Constructs a notebook control.

```
new(Parent, Id) -> wxNotebook()
```

Types:

Parent = wxWindow:wxWindow()\
 Id = integer()\

```
new(Parent, Id, Options :: [Option]) -> wxNotebook()
```

Types:

Parent = wxWindow:wxWindow()\
 Id = integer()\
 Option = \
\
     {pos, {X :: integer(), Y :: integer()}} \|\
\
     {size, {W :: integer(), H :: integer()}} \|\
\
     {style, integer()}\

Constructs a notebook control.

Note that sometimes you can reduce flicker by passing the wxCLIP\_CHILDREN window style.

```
destroy(This :: wxNotebook()) -> ok
```

Destroys the *wxNotebook* object.

```
assignImageList(This, ImageList) -> ok
```

Types:

This = wxNotebook()\
 ImageList = wxImageList:wxImageList()\

Sets the image list for the page control and takes ownership of the list.

See: *wxImageList*, *setImageList/2*

```
create(This, Parent, Id) -> boolean()
```

Types:

This = wxNotebook()\
 Parent = wxWindow:wxWindow()\
 Id = integer()\

```
create(This, Parent, Id, Options :: [Option]) -> boolean()
```

Types:

This = wxNotebook()\
 Parent = wxWindow:wxWindow()\
 Id = integer()\
 Option = \
\
     {pos, {X :: integer(), Y :: integer()}} \|\
\
     {size, {W :: integer(), H :: integer()}} \|\
\
     {style, integer()}\

Creates a notebook control.

See *new/3* for a description of the parameters.

```
getImageList(This) -> wxImageList:wxImageList()
```

Types:

This = wxNotebook()\

Returns the associated image list, may be NULL.

See: *wxImageList*, *setImageList/2*

```
getPageImage(This, NPage) -> integer()
```

Types:

This = wxNotebook()\
 NPage = integer()\

Returns the image index for the given page.

```
getRowCount(This) -> integer()
```

Types:

This = wxNotebook()\

Returns the number of rows in the notebook control.

```
getThemeBackgroundColour(This) -> wx:wx_colour4()
```

Types:

This = wxNotebook()\

If running under Windows and themes are enabled for the application, this function returns a suitable colour for painting the background of a notebook page, and can be passed to *wxWindow:setBackgroundColour/2*.

Otherwise, an uninitialised colour will be returned.

```
setImageList(This, ImageList) -> ok
```

Types:

This = wxNotebook()\
 ImageList = wxImageList:wxImageList()\

Sets the image list to use.

It does not take ownership of the image list, you must delete it yourself.

See: *wxImageList*, *assignImageList/2*

```
setPadding(This, Padding) -> ok
```

Types:

This = wxNotebook()\
 Padding = {W :: integer(), H :: integer()}\

Sets the amount of space around each page's icon and label, in pixels.

Note: The vertical padding cannot be changed in wxGTK.

```
setPageSize(This, Size) -> ok
```

Types:

This = wxNotebook()\
 Size = {W :: integer(), H :: integer()}\

Sets the width and height of the pages.

Note: This method is currently not implemented for wxGTK.

```
setPageImage(This, Page, Image) -> boolean()
```

Types:

This = wxNotebook()\
 Page = Image = integer()\

Sets the image index for the given page.

*image* is an index into the image list which was set with *setImageList/2*.
