Clase wxPanel
Un panel es una ventana en la que se colocan controles.
Jerarquía:

Normalmente se coloca dentro de un marco. Su principal característica sobre su clase padre wxWindow es el código para el manejo de ventanas hijas y TAB traversal, que se implementa de forma nativa si es posible (por ejemplo, en wxGTK) o por el propio wxWidgets en caso contrario.
Nota: El desplazamiento de pestañas se implementa a través de una clase intermedia wxControlContainer no documentada de la que puede derivar cualquier clase además de la clase base normal wxWindow. Consultar wx/containr.h y wx/panel.h para averiguar cómo se consigue esto.
Si no todos los caracteres están siendo interceptados por el manejador OnKeyDown o OnChar, puede ser debido a que se está utilizando el estilo wxTAB_TRAVERSAL, que captura algunas pulsaciones de teclas para su uso por los controles hijo.
Observaciones
Por defecto, un panel tiene el mismo color que un diálogo.
Eventos emitidos por esta clase
Las siguientes macros de manejadores de eventos redirigen los eventos a manejadores de funciones miembro 'func' con prototipos como:
void handlerFuncName(wxNavigationKeyEvent&; event)
Macros de evento para eventos emitidos por esta clase:
- EVT_NAVIGATION_KEY(func)
- Procesa un evento de tecla de navegación.
Funciones miembro
wxPanel()
wxPanel::wxPanel()
Constructor por defecto.
wxPanel()
wxPanel::wxPanel( wxWindow * parent, wxWindowID id = wxID_ANY, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString & name = wxPanelNameStr )
Constructor.
Parámetros
- parent
- La ventana padre.
- id
- Un identificador para el panel. wxID_ANY se toma por defecto.
- pos
- La posición del panel. El valor wxDefaultPosition indica una posición por defecto, elegida por el sistema de ventanas o por wxWidgets, dependiendo de la plataforma.
- size
- El tamaño del panel. El valor wxDefaultSize indica un tamaño por defecto, elegido por el sistema de ventanas o por wxWidgets, dependiendo de la plataforma.
- style
- El estilo de la ventana.
- name
- Nombre de la ventana.
~wxPanel()
virtual wxPanel::~wxPanel()
Destructor.
Borra cualquier ventana hija antes de borrar la ventana física.
AcceptsFocus()
bool wxPanel::AcceptsFocus() const
Este método se sobrescribe de wxWindow::AcceptsFocus() y devuelve true sólo si no hay ninguna ventana hija en el panel que pueda aceptar el foco.
Se reevalúa cada vez que se añade o elimina una ventana hija del panel.
Reimplementado de wxWindow.
Create()
bool wxPanel::Create( wxWindow * parent, wxWindowID id = wxID_ANY, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString & name = wxPanelNameStr )
Se utiliza para la construcción de paneles de dos pasos.
InitDialog()
virtual void wxPanel::InitDialog()
Envía un wxInitDialogEvent, que a su vez transfiere datos al diálogo mediante validadores.
Reimplementado a partir de wxWindow.
Layout()
virtual bool wxPanel::Layout()
Ver wxWindow::SetAutoLayout(): cuando el diseño automático está activado, esta función es llamada automáticamente cuando la ventana cambia de tamaño.
Reimplementado a partir de wxWindow.
OnSysColourChanged()
void wxPanel::OnSysColourChanged(wxSysColourChangedEvent & event)
El manejador por defecto para wxEVT_SYS_COLOUR_CHANGED.
Parámetros
- event
- El evento de cambio de color.
Observaciones
Cambia el color del panel para ajustarse a la configuración actual. Añadir una entrada en la tabla de eventos para la clase de panel si se desea que el comportamiento sea diferente (como mantener un color de fondo definido por el usuario). Si se anula esta función, llamar a wxEvent::Skip() para propagar la notificación a las ventanas y controles hijos.
SetFocus()
virtual void wxPanel::SetFocus()
Sobreescribe wxWindow::SetFocus().
Este método utiliza la clase mixta (no documentada) wxControlContainer que gestiona el foco y la lógica TAB para controles que normalmente tienen controles hijo.
En la práctica, si se llama a este método y el control tiene al menos una ventana hija, el foco se dará a la ventana hija.
SetFocusIgnoringChildren()
void wxPanel::SetFocusIgnoringChildren()
A diferencia de SetFocus() (véase más arriba), esta función fija el foco en el panel aunque haya ventanas secundarias en el mismo.
Esto sólo es necesario en raras ocasiones.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxWindow, wxEvtHandler y wxObject.