Search documentation of wx

# wxPopupWindow (wx v2.6)

Copy Markdown View Source

A special kind of top level window used for popup menus, combobox popups and such.

## Styles

This class supports the following styles:

- wxPU_CONTAINS_CONTROLS: By default in wxMSW, a popup window will not take focus from its parent window. However many standard controls, including common ones such as `wxTextCtrl`, need focus to function correctly and will not work when placed on a default popup. This flag can be used to make the popup take focus and let all controls work but at the price of not allowing the parent window to keep focus while the popup is shown, which can also be sometimes desirable. This style is currently only implemented in MSW and simply does nothing under the other platforms (it's new since wxWidgets 3.1.3).

See:

- `wxDialog`

- `wxFrame`

This class is derived, and can use functions, from:

- `wxWindow`

- `wxEvtHandler`

wxWidgets docs: wxPopupWindow

## Summary

### Types

wxPopupWindow()

### Functions

create(This, Parent)

Equivalent to `create(This, Parent, [])`.

create/3

Create method for two-step creation.

destroy(This)

Destroys the object

new()

Default constructor.

new(Parent)

Equivalent to `new(Parent, [])`.

new/2

Constructor.

position(This, PtOrigin, SizePopup)

Move the popup window to the right position, i.e. such that it is entirely visible.

## Types

# wxPopupWindow()

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

## Functions

# create(This, Parent)

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

Equivalent to `create(This, Parent, [])`.

# create/3

    -spec create(This, Parent, [Option]) -> boolean()
                    when
                        This :: wxPopupWindow(), Parent :: wxWindow:wxWindow(), Option :: {flags, integer()}.

Create method for two-step creation.

# destroy(This)

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

Destroys the object

# new()

    -spec new() -> wxPopupWindow().

Default constructor.

# new(Parent)

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

Equivalent to `new(Parent, [])`.

# new/2

    -spec new(Parent, [Option]) -> wxPopupWindow()
                 when Parent :: wxWindow:wxWindow(), Option :: {flags, integer()}.

Constructor.

# position(This, PtOrigin, SizePopup)

    -spec position(This, PtOrigin, SizePopup) -> ok
                      when
                          This :: wxPopupWindow(),
                          PtOrigin :: {X :: integer(), Y :: integer()},
                          SizePopup :: {W :: integer(), H :: integer()}.

Move the popup window to the right position, i.e. such that it is entirely visible.

The popup is positioned at ptOrigin + size if it opens below and to the right (default), at ptOrigin - sizePopup if it opens above and to the left etc.