---
name: "wxPanel"
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/wxPanel"
---

# wxPanel(3erl)

Functions for wxPanel class

## NAME

wxPanel - Functions for wxPanel class

## DESCRIPTION

A panel is a window on which controls are placed. It is usually placed within a frame. Its main feature over its parent class *wxWindow* is code for handling child windows and TAB traversal, which is implemented natively if possible (e.g. in wxGTK) or by wxWidgets itself otherwise.

Note: Tab traversal is implemented through an otherwise undocumented intermediate wxControlContainer class from which any class can derive in addition to the normal *wxWindow* base class. Please see and to find out how this is achieved.

Note: if not all characters are being intercepted by your OnKeyDown or OnChar handler, it may be because you are using the *wxTAB\_TRAVERSAL* style, which grabs some keypresses for use by child controls.

Remark: By default, a panel has the same colouring as a dialog.

See: *wxDialog*

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

wxWidgets docs: wxPanel

## EVENTS

Event types emitted from this class: *navigation\_key*

## DATA TYPES

```
wxPanel() = wx:wx_object()
```

## EXPORTS

```
new() -> wxPanel()
```

Default constructor.

```
new(Parent) -> wxPanel()
```

Types:

Parent = wxWindow:wxWindow()\

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

Types:

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

Constructor.

See: *Create()* (not implemented in wx)

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

Destructor.

Deletes any child windows before deleting the physical window.

```
initDialog(This) -> ok
```

Types:

This = wxPanel()\

Sends a *wxInitDialogEvent*, which in turn transfers data to the dialog via validators.

See: *wxInitDialogEvent*

```
setFocusIgnoringChildren(This) -> ok
```

Types:

This = wxPanel()\

In contrast to *wxWindow:setFocus/1* (see above) this will set the focus to the panel even if there are child windows in the panel.

This is only rarely needed.
