Clase wxWindow
wxWindow es la clase base para todas las ventanas y representa cualquier objeto visible en pantalla.
Jerarquía:

Todos los controles, ventanas de nivel superior, etc. son ventanas. Sin embargo, los Sizers y los contextos de dispositivo no lo son, ya que no aparecen en pantalla.
Hay que tener en cuenta que todos los hijos de la ventana serán eliminados automáticamente por el destructor antes de que se elimine la propia ventana, lo que significa que no hay que preocuparse de eliminarlos manualmente. Para más información, consultar la descripción general de la eliminación de ventanas.
También hay que tener en cuenta que en esta, y muchas otras, clases wxWidgets algunos métodos GetXXX() pueden estar sobrecargados (como, por ejemplo, wxWindow::GetSize o wxWindow::GetClientSize). En este caso, las sobrecargas son no virtuales porque tener múltiples funciones virtuales con el mismo nombre resulta en una ocultación del nombre de la función virtual a nivel de la clase derivada (en inglés, esto significa que la clase derivada tiene que sobrescribir todas las variantes sobrecargadas si sobrescribe alguna de ellas). Para permitir sobrescribirlas en la clase derivada, wxWidgets utiliza un único método virtual protegido DoGetXXX() y todos los GetXXX() son reenviados a él, por lo que sobrescribir el primero cambia el comportamiento del segundo.
Estilos
Esta clase admite los siguientes estilos:
- wxBORDER_DEFAULT:
- La clase de ventana decidirá el tipo de borde a mostrar, si lo hay.
- wxBORDER_SIMPLE:
- Muestra un borde fino alrededor de la ventana. wxSIMPLE_BORDER es el nombre antiguo de este estilo.
- wxBORDER_SUNKEN:
- Muestra un borde hundido. wxSUNKEN_BORDER es el nombre antiguo de este estilo.
- wxBORDER_RAISED:
- Muestra un borde levantado. wxRAISED_BORDER es el antiguo nombre de este estilo.
- wxBORDER_STATIC:
- Muestra un borde adecuado para un control estático. wxSTATIC_BORDER es el nombre antiguo de este estilo. Sólo para Windows.
- wxBORDER_THEME:
- Muestra un borde nativo adecuado para un control, en la plataforma actual. En Windows, este será un borde temático; en la mayoría de las otras plataformas se utilizará un borde hundido. Para más información sobre bordes temáticos en Windows, consulte Bordes temáticos en Windows.
- wxBORDER_NONE:
- No muestra ningún borde, anulando el estilo de borde por defecto de la ventana. wxNO_BORDER es el nombre antiguo de este estilo.
- wxBORDER_DOUBLE:
- Este estilo es obsoleto y no debe utilizarse.
- wxTRANSPARENT_WINDOW:
- La ventana es transparente, es decir, no recibirá eventos de pintura. Sólo para Windows.
- wxTAB_TRAVERSAL:
- Este estilo es utilizado por wxWidgets para las ventanas que soportan navegación TAB entre sus hijas, como wxDialog y wxPanel. Casi nunca debe utilizarse en el código de la aplicación.
- wxWANTS_CHARS:
- Utilízarlo para indicar que la ventana quiere obtener todos los eventos char/key para todas las teclas - incluso para teclas como TAB o ENTER que se utilizan normalmente para la navegación de diálogos y que no se generarían sin este estilo. Si se necesita usar este estilo para obtener las flechas o etc., pero todavía se quiere que la navegación normal por teclado tenga lugar, se debería llamar a Navigate en respuesta a los eventos de tecla para Tab y Shift-Tab.
- wxNO_FULL_REPAINT_ON_RESIZE:
- En Windows, este estilo se utilizaba para desactivar el repintado completo de la ventana cuando se cambiaba su tamaño. Dado que este comportamiento es ahora el predeterminado, el estilo ha quedado obsoleto y ya no tiene efecto.
- wxVSCROLL:
- Utilizar este estilo para activar una barra de desplazamiento vertical. Hay que tener en cuenta que este estilo no puede usarse con controles nativos que no soporten barras de desplazamiento ni con ventanas de nivel superior en la mayoría de los ports.
- wxHSCROLL:
- Utilizar este estilo para habilitar una barra de desplazamiento horizontal. Las mismas limitaciones que para wxVSCROLL se aplican a este estilo.
- wxALWAYS_SHOW_SB:
- Si una ventana tiene barras de desplazamiento, deshabilítalas en lugar de ocultarlas cuando no sean necesarias (es decir, cuando el tamaño de la ventana sea lo suficientemente grande como para no necesitar las barras de desplazamiento para navegar por ella). Este estilo está actualmente implementado para wxMSW, wxGTK y wxUniversal y no hace nada en las otras plataformas.
- wxCLIP_CHILDREN:
- Utilizar este estilo para eliminar el parpadeo causado por el repintado del fondo y el pintado de los niños sobre él. Sólo para Windows.
- wxFULL_REPAINT_ON_RESIZE:
- Utilizar este estilo para forzar un redibujado completo de la ventana cada vez que se redimensiona en lugar de redibujar sólo la parte de la ventana afectada por el redimensionado. Hay que tener en cuenta que este era el comportamiento por defecto antes de la versión 2.5.1 y que si se experimentan problemas de redibujado con código que antes funcionaba puede que se quiera probar esto. Actualmente este estilo sólo se aplica en GTK+ 2 y Windows, y el repintado completo siempre se realiza en otras plataformas.
Estilos extra
Esta clase soporta los siguientes estilos adicionales:
- wxWS_EX_BLOCK_EVENTS:
- wxCommandEvents y los objetos de las clases derivadas se reenvían a la ventana padre y así recursivamente por defecto. El uso de esta bandera para la ventana dada permite bloquear esta propagación en esta ventana, es decir, evitar que los eventos se propaguen más hacia arriba. Los diálogos tienen esta bandera activada por defecto por las razones explicadas en Eventos y Manejo de Eventos.
- wxWS_EX_TRANSIENT:
- No utilizar esta ventana como padre implícito para las otras ventanas: esto debe ser utilizado con ventanas transitorias ya que de lo contrario existe el riesgo de crear un diálogo/frame con esta ventana como padre, lo que llevaría a un crash si el padre fuera destruido antes que el hijo.
- wxWS_EX_CONTEXTHELP:
- En Windows, pone un botón de consulta en el subtítulo. Cuando se pulsa, Windows entrará en un modo de ayuda sensible al contexto y wxWidgets enviará un evento wxEVT_HELP si el usuario hizo clic en una ventana de la aplicación. Este estilo no puede utilizarse (debido al comportamiento nativo subyacente) junto con wxMAXIMIZE_BOX o wxMINIMIZE_BOX, por lo que estos dos estilos se desactivan automáticamente si se utiliza éste.
- wxWS_EX_PROCESS_IDLE:
- Esta ventana siempre debe procesar eventos de inactividad, incluso si el modo establecido por wxIdleEvent::SetMode es wxIDLE_PROCESS_SPECIFIED.
- wxWS_EX_PROCESS_UI_UPDATES:
- Esta ventana debe procesar siempre los eventos de actualización de la interfaz de usuario, incluso si el modo establecido por wxIdleEvent::SetMode es wxUPDATE_UI_PROCESS_SPECIFIED.
Eventos emitidos por esta clase
Macros para eventos emitidos por esta clase:
- EVT_ACTIVATE(id, func):
- Procesa un evento wxEVT_ACTIVATE. Ver wxActivateEvent.
- EVT_CHILD_FOCUS(func):
- Procesa un evento wxEVT_CHILD_FOCUS. Ver wxChildFocusEvent.
- EVT_CONTEXT_MENU(func):
- Se ha detectado un clic derecho (u otro comando de menú contextual dependiendo de la plataforma). Ver wxContextMenuEvent.
- EVT_HELP(id, func):
- Procesa un evento wxEVT_HELP. Ver wxHelpEvent.
- EVT_HELP_RANGE(id1, id2, func):
- Procesa un evento wxEVT_HELP para un rango de ids. Ver wxHelpEvent.
- EVT_DROP_FILES(func):
- Procesa un evento wxEVT_DROP_FILES. Ver wxDropFilesEvent.
- EVT_ERASE_BACKGROUND(func):
- Procesa un evento wxEVT_ERASE_BACKGROUND. Ver wxEraseEvent.
- EVT_SET_FOCUS(func):
- Procesa un evento wxEVT_SET_FOCUS. Ver wxFocusEvent.
- EVT_KILL_FOCUS(func):
- Procesa un evento wxEVT_KILL_FOCUS. Ver wxFocusEvent.
- EVT_IDLE(func):
- Procesa un evento wxEVT_IDLE. Ver wxIdleEvent.
- EVT_JOY_*(func):
- Procesa eventos de joystick. Ver wxJoystickEvent.
- EVT_KEY_DOWN(func):
- Procesa un evento wxEVT_KEY_DOWN (se ha pulsado cualquier tecla). Ver wxKeyEvent.
- EVT_KEY_UP(func):
- Procesa un evento wxEVT_KEY_UP (se ha soltado cualquier tecla). Ver wxKeyEvent.
- EVT_CHAR(func):
- Procesa un evento wxEVT_CHAR. Ver wxKeyEvent.
- EVT_CHAR_HOOK(func):
- Procesa un evento wxEVT_CHAR_HOOK. Ver wxKeyEvent.
- EVT_MOUSE_CAPTURE_LOST(func):
- Procesa un evento wxEVT_MOUSE_CAPTURE_LOST. Ver wxMouseCaptureLostEvent.
- EVT_MOUSE_CAPTURE_CHANGED(func):
- Procesa un evento wxEVT_MOUSE_CAPTURE_CHANGED. Ver wxMouseCaptureChangedEvent.
- EVT_MOUSE_*(func):
- Ver wxMouseEvent.
- EVT_PAINT(func):
- Procesa un evento wxEVT_PAINT. Ver wxPaintEvent.
- EVT_POWER_*(func):
- Cambia el estado de alimentación del sistema. Ver wxPowerEvent.
- EVT_SCROLLWIN_*(func):
- Procesa los eventos de desplazamiento. Ver wxScrollWinEvent.
- EVT_SET_CURSOR(func):
- Procesa un evento wxEVT_SET_CURSOR. Ver wxSetCursorEvent.
- EVT_SIZE(func):
- Procesa un evento wxEVT_SIZE. Ver wxSizeEvent.
- EVT_SYS_COLOUR_CHANGED(func):
- Procesa un evento wxEVT_SYS_COLOUR_CHANGED. Ver wxSysColourChangedEvent.
Funciones miembro
wxWindow()
wxWindow::wxWindow()
Constructor por defecto.
wxWindow()
wxWindow::wxWindow( wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = 0, const wxString & name = wxPanelNameStr )
Construye una ventana, que puede ser hija de un marco, diálogo o cualquier otra ventana que no sea de control.
Parámetros
- parent
- Puntero a una ventana padre.
- id
- Identificador de la ventana. Si wxID_ANY, creará automáticamente un identificador. Ver Identificadores de ventana para más información sobre IDs.
- pos
- Posición de la ventana. wxDefaultPosition indica que wxWidgets debe generar una posición por defecto para la ventana. Si utiliza la clase wxWindow directamente, proporcione una posición real.
- size
- Tamaño de la ventana. wxDefaultSize indica que wxWidgets debe generar un tamaño por defecto para la ventana. Si no se puede encontrar un tamaño adecuado, la ventana tendrá un tamaño de 20x20 píxeles para que la ventana sea visible, pero obviamente no tendrá el tamaño correcto.
- style
- Estilo de ventana.
- name
- Nombre de la ventana.
~wxWindow()
virtual wxWindow::~wxWindow()
Destructor.
Borra todas las sub-ventanas, y luego se borra a sí mismo. En lugar de usar el operador delete explícitamente, normalmente se debería usar Destroy() para que wxWidgets pueda borrar una ventana sólo cuando sea seguro hacerlo, en tiempo de inactividad.
AcceptsFocus()
virtual bool wxWindow::AcceptsFocus() const
Este método puede ser sobrescrito en las clases derivadas para devolver false para indicar que este control no acepta entrada en absoluto (es decir, se comporta como, por ejemplo, wxStaticText) y por lo tanto no necesita foco.
AcceptsFocusFromKeyboard()
virtual bool wxWindow::AcceptsFocusFromKeyboard() const
Este método puede ser sobrescrito en las clases derivadas para que devuelva false para indicar que aunque este control puede, en principio, tener foco si el usuario lo pulsa con el ratón, no debe ser incluido en la cadena de desplazamiento TAB cuando se utiliza el teclado.
AcceptsFocusRecursively()
virtual bool wxWindow::AcceptsFocusRecursively() const
Sobrescrito para indicar si esta ventana o uno de sus hijos acepta el foco.
Normalmente es igual que AcceptsFocus() pero se sobrescribe para las ventanas contenedoras.
AddChild()
virtual void wxWindow::AddChild(wxWindow * child)
Añade una ventana hija.
Esta función es llamada automáticamente por las funciones de creación de ventanas, por lo que no debería ser requerida por el programador de la aplicación. Hay que tener en cuenta que esta función es principalmente interna a wxWidgets y no debe ser llamada por el código de usuario.
Parámetros
- child
- Ventana hija a añadir.
- child
- Ventana hija a añadir.
AddPendingEvent()
virtual void wxWindow::AddPendingEvent(const wxEvent & event)
Ver ProcessEvent() para más información sobre por qué no se debería usar esta función y la razón de hacer esta función protegida en wxWindow.
Reimplementado de wxEvtHandler.
AdjustForLayoutDirection()
virtual wxCoord wxWindow::AdjustForLayoutDirection( wxCoord x, wxCoord width, wxCoord widthTotal ) const
Refleja las coordenadas para el diseño RTL si esta ventana lo utiliza y si el reflejo no se hace automáticamente como Win32.
AlwaysShowScrollbars()
virtual void wxWindow::AlwaysShowScrollbars( bool hflag = true, bool vflag = true )
Llamar a esta función para forzar que una o ambas barras de desplazamiento se muestren siempre, incluso si la ventana es lo suficientemente grande como para mostrar todo su contenido sin desplazamiento.
Parámetros
- hflag
- Si la barra de desplazamiento horizontal debe estar siempre visible.
- vflag
- Si la barra de desplazamiento vertical debe estar siempre visible.
Observaciones
Actualmente esta función no está implementada.
BeginRepositioningChildren()
bool wxWindow::BeginRepositioningChildren()
Prepara el cambio de posición de varias ventanas secundarias.
Este método debe ser llamado antes de cambiar las posiciones de múltiples ventanas hijas para reducir el parpadeo y, en el caso de MSW, incluso evitar la corrupción de la pantalla en algunos casos. Es utilizado internamente por wxWidgets y es llamado automáticamente cuando cambia el tamaño de la ventana, pero también puede ser útil llamarlo desde fuera de la librería si se realiza un reposicionamiento que involucre múltiples ventanas hijas sin cambiar el tamaño de la ventana.
Si este método devuelve true, entonces se debe llamar a EndRepositioningChildren() después de fijar las posiciones de todos los hijos. Utilizar la clase ChildrenRepositioningGuard para asegurarse de que se cumple este requisito.
CacheBestSize()
void wxWindow::CacheBestSize(const wxSize & size) const
Establece el valor del mejor tamaño en caché.
CanAcceptFocus()
bool wxWindow::CanAcceptFocus() const
¿Puede esta ventana tener foco en este momento?
Si este método devuelve true, significa que al llamar a SetFocus() se pondrá el foco en esta ventana o en una de sus hijas, si se necesita saber si esta ventana acepta el foco por sí misma, utilizar IsFocusable().
CanAcceptFocusFromKeyboard()
bool wxWindow::CanAcceptFocusFromKeyboard() const
¿Se puede asignar a esta ventana el foco desde el teclado en este momento?
CanScroll()
bool wxWindow::CanScroll(int orient) const
Devuelve true si esta ventana puede tener una barra de desplazamiento en esta orientación.
Parámetros
- orient
- Orientación a comprobar, ya sea wxHORIZONTAL o wxVERTICAL.
CanSetTransparent()
virtual bool wxWindow::CanSetTransparent()
Devuelve true si el sistema soporta ventanas transparentes y la llamada a SetTransparent() puede tener éxito.
Si esta función devuelve false, las ventanas transparentes definitivamente no están soportadas por el sistema actual.
Reimplementado en wxTopLevelWindow.
CaptureMouse()
void wxWindow::CaptureMouse()
Dirige toda la entrada del ratón a esta ventana.
Llamar a ReleaseMouse() para liberar la captura.
Hay que tener en cuenta que wxWidgets mantiene la pila de ventanas que han capturado el ratón y cuando se suelta el ratón la captura vuelve a la ventana que lo había capturado anteriormente y solo se libera realmente si no había ninguna ventana anterior. En concreto, esto significa que hay que soltar el ratón tantas veces como se capture, a no ser que la ventana reciba el evento wxMouseCaptureLostEvent.
Cualquier aplicación que capture el ratón al principio de alguna operación debe manejar wxMouseCaptureLostEvent y cancelar esta operación cuando reciba el evento. El manejador del evento no debe volver a capturar el ratón.
Center()
void wxWindow::Center(int dir = wxBOTH)
Un sinónimo para Centre().
CenterOnParent()
void wxWindow::CenterOnParent(int dir = wxBOTH)
Un sinónimo para CentreOnParent().
Centre()
void wxWindow::Centre(int direction = wxBOTH)
Centra la ventana.
Parámetros
- direction
- Especifica la dirección del centrado. Puede ser wxHORIZONTAL, wxVERTICAL o wxBOTH. También puede incluir la bandera wxCENTRE_ON_SCREEN si se desea centrar la ventana en toda la pantalla y no en su ventana padre.
Observaciones
Si la ventana es de nivel superior (es decir, no tiene un padre), se centrará en relación con la pantalla de todos modos.
CentreOnParent()
void wxWindow::CentreOnParent(int direction = wxBOTH)
Centra la ventana en su padre.
Es un sinónimo más legible de Centre().
Parámetros
- direction
- Especifica la dirección del centrado. Puede ser wxHORIZONTAL, wxVERTICAL o wxBOTH.
Observaciones
Este método permite centrar las ventanas de nivel superior sobre sus padres en lugar de sobre toda la pantalla. Si no existe una ventana padre o si la ventana no es una ventana de nivel superior, el comportamiento es el mismo que el de Centre().
ClearBackground()
virtual void wxWindow::ClearBackground()
Borra la ventana rellenándola con el color de fondo actual.
No provoca que se genere un evento de borrar fondo.
Hay que tener en cuenta que esto utiliza wxClientDC para dibujar en la ventana y los resultados de hacerlo mientras también se dibuja en wxPaintDC para esta ventana son indefinidos. Por lo tanto, este método no debe ser utilizado desde los manejadores EVT_PAINT, sólo tiene que utilizar wxDC::Clear() en el wxPaintDC que ya utiliza allí en su lugar.
ClientToScreen()
Convierte a coordenadas de pantalla a partir de coordenadas relativas a esta ventana.
Parámetros
- pt
- La posición del cliente para la segunda forma de la función.
ClientToScreen()
void wxWindow::ClientToScreen( int * x, int * y ) const
Convierte a coordenadas de pantalla a partir de coordenadas relativas a esta ventana.
Parámetros
- x
- Un puntero a un valor entero para la coordenada x. Introduzca la coordenada del cliente y se obtendrá una coordenada de pantalla.
- y
- Un puntero a un valor entero para la coordenada y. Introduzca la coordenada del cliente y se enviará una coordenada de la pantalla.
Nota: En wxPerl este método devuelve una lista de 2 elementos en lugar de modificar sus parámetros.
ClientToWindowSize()
Convierte el tamaño del área de cliente en el tamaño de ventana correspondiente.
En otras palabras, el valor devuelto es el que devolvería GetSize() si esta ventana tuviera un área de cliente del tamaño dado. Los componentes con el valor wxDefaultCoord no se modifican. Hay que tener en cuenta que la conversión no siempre es exacta, ya que asume que el área no cliente no cambia y por lo tanto no tiene en cuenta cosas como la (des)envoltura de la barra de menú o la (des)aparición de las barras de desplazamiento.
Close()
bool wxWindow::Close(bool force = false)
Esta función simplemente genera un wxCloseEvent cuyo manejador normalmente intenta cerrar la ventana.
Sin embargo, no cierra la ventana en sí.
Parámetros
- force
- false si el manejador de cierre de la ventana debe ser capaz de vetar la destrucción de esta ventana, true si no puede.
Devuelve
true si el evento fue manejado y no vetado, false en caso contrario.
Observaciones
Close llama al manejador de cierre de la ventana, dándole la oportunidad de elegir si desea destruir la ventana. Normalmente solo se utiliza con las ventanas de nivel superior (clases wxFrame y wxDialog) ya que se supone que las demás no tienen ninguna lógica OnClose() especial. El controlador de cierre debe comprobar si la ventana está siendo eliminada forzosamente, utilizando wxCloseEvent::CanVeto, en cuyo caso debe destruir la ventana utilizando wxWindow::Destroy. Hay que tener en cuenta que llamar a Close no garantiza que la ventana sea destruida; pero proporciona una forma de simular un cierre manual de una ventana, que puede o no ser implementado destruyendo la ventana. La implementación por defecto de wxDialog::OnCloseWindow no borra necesariamente el diálogo, ya que simplemente simula un evento wxID_CANCEL que es manejado por el manejador de eventos del botón apropiado y puede hacer cualquier cosa. Para garantizar que la ventana será destruida, llame en su lugar a wxWindow::Destroy.
ConvertDialogToPixels()
Convierte un punto o tamaño de unidades de diálogo a píxeles.
Para la dimensión x, las unidades de diálogo se multiplican por la anchura media del carácter y se dividen por 4. Para la dimensión y, las unidades de diálogo se multiplican por la altura media del carácter y se dividen por 8.
Observaciones
Las unidades de diálogo se utilizan para mantener las proporciones de un diálogo aunque cambie la fuente. También puede utilizar estas funciones mediante programación. Se define una macro de conveniencia:
#define wxDLG_UNIT(parent, pt) parent->ConvertDialogToPixels(pt)
ConvertDialogToPixels()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
ConvertPixelsToDialog()
Convierte un punto o tamaño de píxeles a unidades de diálogo.
Para la dimensión x, los píxeles se multiplican por 4 y se dividen por la anchura media del carácter. Para la dimensión y, los píxeles se multiplican por 8 y se dividen por la altura media del carácter.
Observaciones
Las unidades de diálogo se utilizan para mantener las proporciones de un diálogo aunque cambie la fuente.
ConvertPixelsToDialog()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Sólo difiere de la función anterior en los argumentos que acepta.
Create()
bool wxWindow::Create( wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = 0, const wxString & name = wxPanelNameStr )
Construye el objeto ventana real después de crear el objeto C++.
El constructor no predeterminado de la clase wxWindow hace dos cosas: inicializa el objeto C++ y también crea el objeto ventana en el toolkit gráfico subyacente. El método Create() se puede utilizar para realizar la segunda parte más tarde, mientras que el constructor por defecto se puede utilizar para realizar sólo la primera parte.
Hay que tener en cuenta que la ventana subyacente debe crearse exactamente una vez, es decir, si se utiliza el constructor por defecto, que no hace esto, se debe llamar a Create() antes de utilizar la ventana y si se utiliza el constructor no por defecto, no puede se llamar a Create(), ya que la ventana subyacente ya está creada.
Hay que tener en cuenta que es posible y, de hecho, útil, llamar a algunos métodos sobre el objeto entre la creación del objeto C++ en sí y la llamada a Create() sobre él, por ejemplo, un patrón común para evitar mostrar el contenido de una ventana antes de que esté completamente inicializada es:
wxPanel* panel = new wxPanel(); // Nota: se utiliza el constructor por defecto. panel->Hide(); // Puede llamarse antes de crearla. panel->Create(parent, wxID_ANY, ...); // No se mostrará todavía. ... crear todos los hijos del panel ... panel->Show(); // Ahora todo se mostrará a la vez.
Obsérvese también que es posible crear un objeto de un tipo derivado y luego llamar a Create() sobre él:
// Supongamos que tenemos esta función (que normalmente estaría // en una unidad de traducción (archivo) diferente del resto del código). wxWindow* MyCreateWindowObjectFunction() { return new MyCustomClassDerivingFromWindow(); } // Entonces podemos crear una ventana de la clase MyCustomClassDerivingFromWindow // sin conocer realmente este tipo, como tendríamos que hacer //si quisiéramos utilizar el constructor no predeterminado, de esta forma: // Primero crea el objeto C++ utilizando la función de fábrica. wxWindow* window = MyCreateWindowObjectFunction(); // Y ahora crea la ventana subyacente. // // Esto llama a la base wxWindow::Create() ya que no es virtual, // la clase derivada no puede personalizar esta parte. window->Create(parent, wxID_ANY, ...);
Este método es utilizado especialmente por XML Based Resource System (XRC).
Los parámetros de este método tienen exactamente el mismo significado que los parámetros no predeterminados del constructor, por favor referirse a ellos para su descripción.
Destroy()
virtual bool wxWindow::Destroy()
Destruye la ventana de forma segura.
Utilizar esta función en lugar del operador delete, ya que las diferentes clases de ventanas pueden ser destruidas de forma diferente. Los marcos y diálogos no se destruyen inmediatamente cuando se llama a esta función - se añaden a una lista de ventanas que se borrarán en tiempo de inactividad, cuando se hayan procesado todos los eventos de la ventana. Esto evita problemas con eventos enviados a ventanas inexistentes.
Valor de retorno
true si la ventana ha sido borrada con éxito, o ha sido añadida a la lista de ventanas pendientes de borrado real.
Reimplementado en wxAuiMDIChildFrame.
DestroyChildren()
bool wxWindow::DestroyChildren()
Destruye todos los hijos de una ventana.
Llamado automáticamente por el destructor.
Disable()
bool wxWindow::Disable()
Desactiva la ventana.
Igual que Enable() Enable(false).
Valor de retorno
Devuelve true si la ventana ha sido deshabilitada, false si ya había sido deshabilitada antes de la llamada a esta función.
DisableFocusFromKeyboard()
void wxWindow::DisableFocusFromKeyboard()
Desactiva el enfoque de esta ventana mediante las teclas de navegación del teclado.
Al pulsar la tecla TAB se omitirá esta ventana si se llamó a esta función sobre ella, pero seguirá siendo posible enfocarla haciendo clic sobre ella con un dispositivo señalador.
DoCentre()
virtual void wxWindow::DoCentre(int direction)
Centra la ventana.
Parámetros
- direction
- Especifica la dirección del centrado. Puede ser wxHORIZONTAL, wxVERTICAL o wxBOTH. También puede incluir la bandera wxCENTRE_ON_SCREEN.
Observaciones
Esta función no está pensada para ser llamada directamente por código de usuario, sino a través de Centre, Center, CentreOnParent o CenterOnParent. Esta función puede sobrescribirse para ajustar el comportamiento de centrado.
DoGetBestClientHeight()
virtual int wxWindow::DoGetBestClientHeight(int width) const
Sustituir este método para implementar el cálculo del mejor tamaño altura-anchura.
Devuelve la altura necesaria para mostrar completamente el contenido del control si su anchura está fijada al valor dado. Las clases personalizadas que implementen el envoltorio deben anular este método y devolver la altura correspondiente al número de líneas necesarias para desplegar el contenido del control con esta anchura.
Actualmente este método no es utilizado por wxWidgets todavía, sin embargo está previsto que sea utilizado por las nuevas clases sizer que implementen la estrategia de layout height-for-width en el futuro.
Hay que tener en cuenta que implementar este método o incluso implementarlo junto con DoGetBestClientWidth() no sustituye a anular DoGetBestClientSize(), es decir, todavía se necesita implementar este último también para proporcionar el mejor tamaño cuando ni la anchura ni la altura están limitadas.
Por defecto devuelve wxDefaultCoord, lo que significa que debe utilizarse el componente vertical del valor de retorno de DoGetBestClientSize().
DoGetBestClientSize()
virtual wxSize wxWindow::DoGetBestClientSize() const
Sustituir este método para obtener el mejor tamaño para un control personalizado.
Una implementación típica de este método debería calcular el tamaño mínimo necesario para mostrar completamente el contenido del control teniendo en cuenta el tamaño de fuente actual.
La implementación por defecto simplemente devuelve wxDefaultSize y GetBestSize() devuelve un tamaño arbitrario codificado para la ventana, por lo que debe ser anularlo cuando se implemente una clase de ventana personalizada.
Hay que tener en cuenta que el mejor tamaño devuelto por esta función se almacena en caché internamente, por lo que si algo que resulta en el mejor tamaño cambia (por ejemplo, cambio en el contenido del control), se necesita llamar a InvalidateBestSize() para notificar a wxWidgets sobre ello.
DoGetBestClientWidth()
virtual int wxWindow::DoGetBestClientWidth(int height) const
Sobrescribir este método para implementar el cálculo del mejor tamaño ancho-por-altura.
Este método es exactamente igual que DoGetBestClientHeight() excepto que determina la anchura asumiendo que la altura es fija en lugar de viceversa.
DoGetBestSize()
virtual wxSize wxWindow::DoGetBestSize() const
La implementación de GetBestSize() que puede ser sobrescrita.
Hay que tener en cuenta que normalmente es más conveniente sobrescribir DoGetBestClientSize() en lugar de este método, ya que necesita tener en cuenta explícitamente el tamaño de los bordes de la ventana.
La implementación por defecto de esta función está diseñada para su uso en ventanas contenedoras, como wxPanel, y funciona de la siguiente manera:
- Si la ventana tiene un sizer entonces se utiliza para calcular el mejor tamaño.
- Si la ventana tiene restricciones de diseño, éstas se utilizan para calcular el tamaño óptimo.
- Si la ventana tiene hijos, el tamaño óptimo se establece para que sea lo suficientemente grande como para mostrar a todos los hijos.
- En caso contrario, si no hay hijos, se utilizará el tamaño mínimo de la ventana como tamaño óptimo.
- En caso contrario, si no se ha establecido un tamaño mínimo, se utilizará el tamaño actual como tamaño óptimo.
DoUpdateWindowUI()
virtual void wxWindow::DoUpdateWindowUI(wxUpdateUIEvent & event)
Realiza la actualización específica de la ventana después de procesar el evento de actualización.
Esta función es llamada por UpdateWindowUI() para comprobar los valores de retorno en el wxUpdateUIEvent y actuar apropiadamente. Por ejemplo, para permitir la actualización del marco y el título del diálogo, wxWidgets implementa esta función de la siguiente manera:
// realizar el procesamiento específico de la ventana después de procesar el evento de actualización void wxTopLevelWindowBase::DoUpdateWindowUI(wxUpdateUIEvent& event) { if ( event.GetSetEnabled() ) Enable(event.GetEnabled()); if ( event.GetSetText() ) { if ( event.GetText() != GetTitle() ) SetTitle(event.GetText()); } }
DragAcceptFiles()
virtual void wxWindow::DragAcceptFiles(bool accept)
Activa o desactiva la elegibilidad para eventos de soltar archivos (OnDropFiles).
Parámetros
- accept
- Si es true, la ventana es elegible para eventos de soltar archivo. Si es false, la ventana no aceptará eventos de soltar archivos.
Observaciones
Sólo Windows hasta la versión 2.8.9, disponible en todas las plataformas desde 2.8.10. No puede utilizarse junto con SetDropTarget() en plataformas que no sean Windows.
Enable()
virtual bool wxWindow::Enable(bool enable = true)
Habilita o deshabilita la ventana para la entrada del usuario.
hay que tener en cuenta que cuando una ventana padre está deshabilitada, todos sus hijos se deshabilitan también y se vuelven a habilitar de nuevo cuando el padre lo está.
Una ventana puede ser creada inicialmente deshabilitada llamando a este método sobre ella antes de llamar a Create() para crear la ventana subyacente real, p.e.
wxWindow* w = new MyWindow(); // Nota: aquí se utiliza el constructor por defecto. w->Enable(false); w->Create(parent, ... all the usual non-default ctor arguments ...);
Parámetros
- enable
- Si es true, activa la ventana de entrada. Si es false, desactiva la ventana.
Valor de retorno
Devuelve true si la ventana ha sido habilitada o deshabilitada, false si no se ha hecho nada, es decir, si la ventana ya estaba en el estado especificado.
EnableTouchEvents()
virtual bool wxWindow::EnableTouchEvents(int eventsMask)
Solicita la generación de eventos táctiles para esta ventana.
Cada llamada a esta función sustituye a las anteriores, es decir, si se desea recibir eventos para los gestos de zoom y rotación, se debe llamar a
EnableTouchEvents(wxTOUCH_ZOOM_GESTURE | wxTOUCH_ROTATE_GESTURE);
en lugar de llamarlo dos veces seguidas, ya que la segunda llamada desactivaría el primer gesto.
Parámetros
- eventsMask
- Puede ser wxTOUCH_NONE o wxTOUCH_ALL_GESTURES para deshabilitar o habilitar los eventos de gestos para esta ventana.
Valor de retorno
true si los eventos especificados fueron habilitados o false si la plataforma actual no soporta eventos táctiles.
EnableVisibleFocus()
virtual void wxWindow::EnableVisibleFocus(bool enable)
Activa o desactiva la indicación visible del foco del teclado.
Por defecto, los controles se comportan de forma apropiada a la plataforma y muestran el foco de la misma forma que las aplicaciones nativas. En algunas circunstancias muy raras puede ser deseable cambiar el valor por defecto (en particular, los controles de texto multilínea normalmente no tienen un indicador de enfoque en Mac), lo que permite este método. Solo debe utilizarse si se conocen bien las directrices de la plataforma nativa y las expectativas del usuario.
Este método sólo está implementado en Mac.
EndRepositioningChildren()
void wxWindow::EndRepositioningChildren()
Fija las posiciones de las ventanas hijas después de haberlas fijado todas a la vez.
Este método debe llamarse si y solo si la llamada anterior a BeginRepositioningChildren() devolvió true.
FindFocus()
static wxWindow* wxWindow::FindFocus()
Busca la ventana o el control que tiene actualmente el foco del teclado.
Observaciones
Hay que tener en cuenta que esta es una función estática, por lo que puede ser llamada sin necesidad de un puntero wxWindow.
FindWindow()
wxWindow* wxWindow::FindWindow(const wxString & name) const
Busca un hijo de esta ventana, por nombre.
Puede devolver this si coincide consigo mismo.
Hay que tener en cuenta que solo los hijos reales, no las ventanas de nivel superior que utilizan esta ventana como padre, son buscados por esta función.
FindWindow()
wxWindow* wxWindow::FindWindow(long id) const
Busca un hijo de esta ventana, por id.
Puede devolver this si coincide consigo mismo.
Hay que tener en cuenta que solo los hijos reales, no las ventanas de nivel superior que utilizan esta ventana como padre, son buscados por esta función.
FindWindowById()
static wxWindow* wxWindow::FindWindowById( long id, const wxWindow * parent = 0 )
Busca la primera ventana con el id dado.
Si parent es NULL, la búsqueda comenzará desde todos los marcos y cuadros de diálogo de nivel superior; si no es NULL, la búsqueda se limitará a la jerarquía de ventanas dada. La búsqueda es recursiva en ambos casos.
FindWindowByLabel()
static wxWindow* wxWindow::FindWindowByLabel( const wxString & label, const wxWindow * parent = 0 )
Buscar una ventana por su etiqueta.
Dependiendo del tipo de ventana, la etiqueta puede ser un título de ventana o una etiqueta de elemento de panel. Si parent es NULL, la búsqueda comenzará en todos los marcos y cuadros de diálogo de nivel superior; si no es NULL, la búsqueda se limitará a la jerarquía de ventanas dada.
La búsqueda es recursiva en ambos casos y, a diferencia de FindWindow(), es recursiva también en las ventanas hijas de nivel superior.
FindWindowByName()
static wxWindow* wxWindow::FindWindowByName( const wxString & name, const wxWindow * parent = 0 )
Busca una ventana por su nombre (como se indica en un constructor de ventana o en una llamada a la función Create()).
Si parent es NULL, la búsqueda comenzará en todos los marcos y cuadros de diálogo de nivel superior; si no es NULL, la búsqueda se limitará a la jerarquía de ventanas dada.
La búsqueda es recursiva en ambos casos y, a diferencia de FindWindow(), es recursiva también en las ventanas hijas de nivel superior.
Si no se encuentra ninguna ventana con ese nombre, se llama a FindWindowByLabel(), es decir, el nombre se interpreta primero como nombre (interno) pero si esto falla, es interno como etiqueta (visible para el usuario). Como este comportamiento puede ser confuso, normalmente es mejor utilizar la sobrecarga FindWindow() tomando el nombre o FindWindowByLabel() directamente.
Fit()
virtual void wxWindow::Fit()
Ajusta el tamaño de la ventana a su tamaño óptimo.
Utilizar esta función equivale a establecer el tamaño de la ventana al valor devuelto por GetBestSize().
Hay que tener en cuenta que, a diferencia de SetSizerAndFit(), esta función solo cambia el tamaño actual de la ventana y no cambia su tamaño mínimo.
FitInside()
virtual void wxWindow::FitInside()
Similar a Fit(), pero dimensiona el tamaño interior (virtual) de una ventana.
Principalmente útil con ventanas desplazadas para restablecer las barras de desplazamiento después de cambios de tamaño que no desencadenan un evento de tamaño, y/o ventanas desplazadas sin un dimensionador interior. Esta función tampoco hará nada si no hay subventanas.
Freeze()
void wxWindow::Freeze()
Congela la ventana o, en otras palabras, impide que se produzca cualquier actualización en pantalla, la ventana no se redibuja en absoluto.
Debe llamarse a Thaw() para volver a activar el redibujado de la ventana. Las llamadas a estas dos funciones pueden anidarse, pero para asegurarse de que la ventana se vuelve a pintar correctamente, debe descongelarse exactamente tantas veces como la haya congelado.
Si la ventana tiene hijos, también se congelan recursivamente.
Este método es útil para la optimización de la apariencia visual (por ejemplo, es una buena idea usarlo antes de hacer muchas inserciones de texto grandes seguidas en un wxTextCtrl bajo wxGTK) pero no está implementado en todas las plataformas ni para todos los controles por lo que es principalmente solo una sugerencia para wxWidgets y no una directiva obligatoria.
FromDIP()
wxPoint wxWindow::FromDIP(const wxPoint & pt) const
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
FromDIP()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
FromDIP()
wxSize wxWindow::FromDIP(const wxSize & sz) const
Convierte los valores de píxel independientes de DPI al valor en píxeles apropiado para el conjunto de herramientas actual.
Un píxel independiente de DPI es solo un píxel a la resolución estándar de 96 DPI. Para mantener el mismo tamaño físico a mayor resolución, el valor del píxel físico debe ser escalado por GetDPIScaleFactor() pero este escalado puede estar ya hecho por el toolkit subyacente (GTK+, Cocoa, ...) automáticamente. Este método realiza la conversión solo si no está ya hecha por el toolkit de nivel inferior, por lo que usándolo con valores de píxel puede garantizar que el tamaño físico de los elementos correspondientes seguirá siendo el mismo en todas las resoluciones bajo todas las plataformas. Por ejemplo, en lugar de crear un mapa de bits con el tamaño codificado de 32 píxeles, se debería utilizar
wxBitmap bmp(FromDIP(32, 32));
para evitar el uso de mapas de bits diminutos en pantallas con altos PPP.
Hay que tener en cuenta que esta función solo es necesaria cuando se utilizan valores de píxeles codificados. No es necesaria si los tamaños ya se basan en unidades independientes de los PPP, como las unidades de diálogo, o si se confía en la determinación automática del mejor tamaño por parte de los controles y se utilizan tamaños para distribuirlos.
También hay que tener en cuenta que si cualquiera de los componentes de sz tiene el valor especial de -1, se devuelve sin cambios independientemente del DPI actual, para preservar el valor especial de -1 en la API de wxWidgets (a menudo se utiliza para significar "no especificado").
FromDIP()
Funciones de conversión de píxeles independientes de DPI no específicas de la ventana.
La resolución de la pantalla depende de la ventana en general, ya que diferentes ventanas pueden aparecer en diferentes monitores utilizando diferentes resoluciones, sin embargo a veces no hay ninguna ventana disponible para convertir los píxeles independientes de la resolución a los valores físicos y en este caso estas sobrecargas estáticas se pueden utilizar con el valor NULL para el argumento w.
Se desaconseja el uso de estos métodos ya que pasar NULL impedirá que su aplicación soporte correctamente monitores con diferentes resoluciones incluso en las futuras versiones de wxWidgets que añadirán soporte para ellos, y pasar una ventana no NULL es sólo una forma menos conveniente de llamar al método no estático FromDIP().
FromDIP()
int wxWindow::FromDIP(int d) const
Convierte la distancia en píxeles independiente de DPI al valor en píxeles apropiado para el conjunto de herramientas actual.
Es lo mismo que la sobrecarga FromDIP(const wxSize& sz), pero asume que la resolución es la misma en dirección horizontal y vertical.
Si d tiene el valor especial -1, se devuelve sin cambios independientemente del DPI actual.
FromDIP()
static int wxWindow::FromDIP( int d, const wxWindow * w )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
FromPhys()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
FromPhys()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
FromPhys()
Convierte de píxeles físicos a píxeles lógicos.
Todas las coordenadas de ventana en la API wxWidgets se expresan siempre en píxeles lógicos, pero el significado de píxeles lógicos depende de la plataforma. Los píxeles físicos siempre significan lo mismo y se refieren a los píxeles reales de la pantalla o, también, a los tamaños de los mapas de bits. En algunas plataformas, los píxeles lógicos son realmente iguales a los físicos (es el caso de MSW), pero en otras plataformas (por ejemplo, GTK o macOS) no es así y GetContentScaleFactor() define la relación entre un píxel lógico y uno físico.
Esta función se puede utilizar para convertir un valor en píxeles físicos a píxeles lógicos independientemente de la plataforma utilizada. Simplemente no hace nada bajo MSW, pero divide el valor de entrada por el factor de escala de contenido bajo las otras plataformas.
hay que tener en cuenta que dividir un valor entero por el factor de escala no siempre da como resultado un valor entero. Esta función redondea el valor resultante al entero más cercano, por ejemplo, 15 píxeles físicos se traducen a 8, no 7, píxeles lógicos en una escala de 200% PPP. Esto garantiza que un mapa de bits físico de tamaño 15 no quede truncado si el resultado de esta función se utiliza para crear una ventana que lo muestre, pero significa que quedará un píxel extra, no cubierto por este mapa de bits.
FromPhys()
Convierte de píxeles físicos a píxeles lógicos para cualquier ventana.
Esta función puede utilizarse sin ningún puntero de ventana, es decir, w puede ser NULL. En este caso, utiliza el factor de escala de contenido de la pantalla principal si es compatible o simplemente no hace nada (es decir, utiliza el factor de escala de 1) en caso contrario.
Si es posible, siempre es preferible utilizar las sobrecargas de los miembros, ya que siempre utilizan el factor de escala de contenido realmente apropiado.
FromPhys()
int wxWindow::FromPhys(int d) const
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
FromPhys()
static int wxWindow::FromPhys( int d, const wxWindow * w )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
GetAcceleratorTable()
wxAcceleratorTable* wxWindow::GetAcceleratorTable()
Obtiene la tabla de aceleradores de esta ventana.
GetAccessible()
wxAccessible* wxWindow::GetAccessible()
Devuelve el objeto accesible para esta ventana, si existe.
GetAutoLayout()
bool wxWindow::GetAutoLayout() const
Devuelve true si se llama automáticamente a Layout() cuando se redimensiona la ventana.
Esta función es útil sobre todo para el propio wxWidgets y rara vez se necesita en el código de la aplicación.
GetBackgroundColour()
wxColour wxWindow::GetBackgroundColour() const
Devuelve el color de fondo de la ventana.
GetBackgroundStyle()
virtual wxBackgroundStyle wxWindow::GetBackgroundStyle() const
Devuelve el estilo de fondo de la ventana.
GetBestHeight()
int wxWindow::GetBestHeight(int width) const
Devuelve la mejor altura que necesitaría esta ventana si tuviera la anchura dada.
GetBestSize()
wxSize wxWindow::GetBestSize() const
Esta función devuelve el mejor tamaño mínimo aceptable para la ventana.
Por ejemplo, para un control estático, será el tamaño mínimo tal que la etiqueta del control no quede truncada. Para ventanas que contienen subventanas (típicamente wxPanel), el tamaño devuelto por esta función será el mismo que el tamaño que habría tenido la ventana después de llamar a Fit().
Anular la función virtual DoGetBestSize() o, mejor, porque suele ser más conveniente, DoGetBestClientSize() cuando se escriba una clase propia de ventana personalizada para cambiar el valor devuelto por este método público no virtual.
Observese que el mejor tamaño respeta el tamaño mínimo y máximo establecidos explícitamente para la ventana, si los hay. Así que incluso si alguna ventana cree que necesita 200 píxeles horizontalmente, llamar a SetMaxSize() con una anchura de 100 aseguraría que GetBestSize() devuelve la anchura de 100 píxeles como máximo.
GetBestVirtualSize()
virtual wxSize wxWindow::GetBestVirtualSize() const
Devuelve el mayor de ClientSize y BestSize (determinado por un sizer, hijos interiores u otros medios).
GetBestWidth()
int wxWindow::GetBestWidth(int height) const
Devuelve la mejor anchura que necesitaría esta ventana si tuviera la altura dada.
GetBorder()
wxBorder wxWindow::GetBorder() const
Obtener borde para las banderas de esta ventana.
GetBorder()
wxBorder wxWindow::GetBorder(long flags) const
Obtener el estilo de borde de la ventana a partir de las banderas dadas: esto es diferente de simplemente hacer flags & wxBORDER_MASK porque utiliza GetDefaultBorder() para traducir wxBORDER_DEFAULT a algo razonable.
GetCapture()
static wxWindow* wxWindow::GetCapture()
Devuelve la ventana capturada actualmente.
GetCaret()
wxCaret* wxWindow::GetCaret() const
Devuelve el caret asociado a la ventana.
GetCharHeight()
virtual int wxWindow::GetCharHeight() const
Devuelve la altura de los caracteres de esta ventana.
GetCharWidth()
virtual int wxWindow::GetCharWidth() const
Devuelve la anchura media de los caracteres de esta ventana.
GetChildren()
wxWindowList& wxWindow::GetChildren()
Devuelve una referencia a la lista de hijos de la ventana.
wxWindowList es una clase wxList de tipo seguro cuyos elementos son de tipo wxWindow*.
GetChildren()
const wxWindowList& wxWindow::GetChildren() const
Devuelve una referencia constante a la lista de hijos de la ventana.
wxWindowList es una clase wxList de tipo seguro cuyos elementos son de tipo wxWindow*.
GetClassDefaultAttributes()
static wxVisualAttributes wxWindow::GetClassDefaultAttributes( wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL )
Devuelve la fuente y los colores por defecto que utiliza el control.
Esto es útil si se desea utilizar la misma fuente o color en su propio control como en un control estándar - que es una idea mucho mejor que la codificación de colores o fuentes específicas que podrían parecer completamente fuera de lugar en el sistema de los usuarios, especialmente si utiliza temas.
El parámetro variant solo es relevante en Mac actualmente y es ignorado en otras plataformas. En Mac, cambiará el tamaño de la fuente devuelta. Ver SetWindowVariant() para más información.
Este método estático es "sobrescrito" en muchas clases derivadas, por lo que llamar, por ejemplo, a wxButton::GetClassDefaultAttributes() devolverá típicamente los valores apropiados para un botón, que serán normalmente diferentes de los devueltos por, digamos, wxListCtrl::GetClassDefaultAttributes().
La estructura wxVisualAttributes tiene al menos los campos font, colFg y colBg. Todos ellos pueden ser inválidos si no ha sido posible determinar la apariencia por defecto del control o, especialmente para el color de fondo, si el campo no tiene sentido como es el caso de colBg para los controles con fondo temático.
GetClientAreaOrigin()
virtual wxPoint wxWindow::GetClientAreaOrigin() const
Obtiene el origen del área cliente de la ventana relativo a la esquina superior izquierda de la ventana (el área cliente puede estar desplazada debido a los bordes, barras de desplazamiento, otras decoraciones...)
Reimplementado en wxFrame.
GetClientRect()
wxRect wxWindow::GetClientRect() const
Obtiene el rectángulo del cliente en coordenadas de la ventana (es decir, del cliente).
GetClientSize()
wxSize wxWindow::GetClientSize() const
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Sólo difiere de la siguiente función en los argumentos que acepta.
GetClientSize()
void wxWindow::GetClientSize( int * width, int * height ) const
Devuelve el tamaño del 'área cliente' de la ventana en píxeles.
El área del cliente es el área que puede ser dibujada por el programador, excluyendo la barra de título, el borde, las barras de desplazamiento, etc. Hay que tener en cuenta que si esta ventana es de nivel superior y está minimizada, el tamaño devuelto está vacío (tanto el ancho como el alto son 0).
Nota: En wxPerl este método no toma parámetros y devuelve una lista de 2 elementos (anchura, altura).
GetConstraints()
wxLayoutConstraints* wxWindow::GetConstraints() const
Devuelve un puntero a las restricciones de diseño de la ventana, o NULL si no hay ninguna.
GetContainingSizer()
wxSizer* wxWindow::GetContainingSizer() const
Devuelve el sizer del que esta ventana es miembro, si existe, de lo contrario NULL.
GetContentScaleFactor()
double wxWindow::GetContentScaleFactor() const
Devuelve el factor que asigna los píxeles lógicos de esta ventana a píxeles físicos.
Esta función puede utilizarse para determinar de forma portátil el número de píxeles físicos de una ventana del tamaño dado, multiplicando el tamaño de la ventana por el valor que devuelve. Es decir, devuelve el factor que convierte las coordenadas de la ventana en coordenadas de la "vista de contenido", donde la vista puede ser una simple ventana que muestre un wxBitmap o un wxGLCanvas o cualquier otro tipo de ventana que muestre "contenido" arbitrario en pantalla.
Para las plataformas que no hacen ningún mapeo de píxeles, es decir, donde los píxeles lógicos y físicos son uno y el mismo, esta función siempre devuelve 1.0 y por lo tanto su uso es, en principio, innecesario y podría evitarse mediante el uso de preprocesador de verificación para wxHAS_DPI_INDEPENDENT_PIXELS no se define, sin embargo el uso de esta función incondicionalmente en todas las plataformas suele ser más simple y por lo tanto preferible.
Nota: El comportamiento actual de esta función es compatible con wxWidgets 3.0, pero diferente de su comportamiento en las versiones 3.1.0 a 3.1.3, donde devolvía el mismo valor que GetDPIScaleFactor(). Por favor, debe utilizarse la otra función si se necesita utilizar un factor de escala mayor que 1.0 incluso para las plataformas sin wxHAS_DPI_INDEPENDENT_PIXELS, como wxMSW.
GetCursor()
const wxCursor& wxWindow::GetCursor() const
Devuelve el cursor asociado a esta ventana.
GetDefaultAttributes()
virtual wxVisualAttributes wxWindow::GetDefaultAttributes() const
Actualmente es lo mismo que llamar a wxWindow::GetClassDefaultAttributes(wxWindow::GetWindowVariant()).
Una ventaja de usar esta función comparada con la versión estática es que la llamada se envía automáticamente a la clase correcta (como es habitual con las funciones virtuales) y no hay que especificar el nombre de la clase explícitamente.
La otra es que en el futuro esta función podría devolver resultados diferentes, por ejemplo podría devolver una fuente diferente para un botón "Ok" que para un botón genérico si la GUI del usuario está configurada para mostrar tales botones en negrita. Por supuesto, la desventaja es que es imposible llamar a esta función sin tener un objeto al que aplicarla, mientras que la versión estática se puede utilizar sin tener que crear un objeto primero.
GetDPI()
virtual wxSize wxWindow::GetDPI() const
Devuelve los PPP de la pantalla utilizada por esta ventana.
El valor devuelto puede ser diferente para diferentes ventanas en sistemas con soporte para valores DPI por monitor, como Microsoft Windows 10.
Si el DPI no está disponible, devuelve el objeto wxSize(0,0).
GetDPIScaleFactor()
double wxWindow::GetDPIScaleFactor() const
Devuelve la relación entre los PPP utilizados por esta ventana y los PPP estándar.
El valor devuelto es 1 para pantallas con PPP estándar o 2 para "escalado al 200%" y, a diferencia de GetContentScaleFactor(), es el mismo en todas las plataformas.
Este factor debe utilizarse para aumentar el tamaño de los iconos y ventanas similares cuyo mejor tamaño no se basa en las métricas de texto cuando se utiliza el escalado DPI.
Por ejemplo, el programa puede cargar un mapa de bits de 32px si el factor de escala del contenido es 1.0 o una versión de 64px del mismo mapa de bits si es 2.0 o mayor.
Hay que tener en cuenta que este método no debe utilizarse para tamaños de ventana expresados en píxeles, ya que en algunas plataformas ya están escalados por este factor por el conjunto de herramientas subyacente. Utilizar FromDIP() para todo lo relacionado con ventanas.
GetDropTarget()
virtual wxDropTarget* wxWindow::GetDropTarget() const
Devuelve el objetivo de drop asociado, que puede ser NULL.
GetEffectiveMinSize()
virtual wxSize wxWindow::GetEffectiveMinSize() const
Fusiona el tamaño óptimo de la ventana con el tamaño mínimo y devuelve el resultado.
Este es el valor utilizado por los sizers para determinar la cantidad apropiada de espacio a asignar para el widget.
Este es el método llamado por un wxSizer cuando consulta el tamaño de una ventana o control.
GetEventHandler()
wxEvtHandler* wxWindow::GetEventHandler() const
Devuelve el manejador de eventos de esta ventana.
Por defecto, la ventana es su propio manejador de eventos.
GetExtraStyle()
long wxWindow::GetExtraStyle() const
Devuelve los bits de estilo adicionales para la ventana.
GetFont()
wxFont wxWindow::GetFont() const
Devuelve la fuente para esta ventana.
GetForegroundColour()
wxColour wxWindow::GetForegroundColour() const
Devuelve el color de primer plano de la ventana.
Observaciones
El significado del color de primer plano varía según la clase de ventana; puede ser el color del texto u otro color, o puede no utilizarse en absoluto.
GetGrandParent()
wxWindow* wxWindow::GetGrandParent() const
Devuelve el abuelo de una ventana, o NULL si no existe.
GetHandle()
virtual WXWidget wxWindow::GetHandle() const
Devuelve el manejador específico de la plataforma de la ventana física.
Hay que cambiarlo a un manejador apropiado, como HWND para Windows, Widget para Motif o GtkWidget para GTK.
Nota: Este método devolverá un entero en wxPerl.
GetHelpText()
wxString wxWindow::GetHelpText() const
Obtiene el texto de ayuda que se utilizará como ayuda contextual para esta ventana.
Hay que tener en cuenta que el texto es almacenado por la implementación actual de wxHelpProvider, y no en el propio objeto ventana.
GetHelpTextAtPoint()
virtual wxString wxWindow::GetHelpTextAtPoint( const wxPoint & point, wxHelpEvent::Origin origin ) const
Obtiene el texto de ayuda que se utilizará como ayuda contextual para esta ventana.
Este método debe sobrescribirse si el mensaje de ayuda depende de la posición dentro de la ventana; en caso contrario, puede utilizarse GetHelpText().
Parámetros
- point
- Coordenadas del ratón en el momento de la emisión del evento de ayuda.
- origin
- Origen del evento de ayuda, ver también wxHelpEvent::GetOrigin.
GetId()
wxWindowID wxWindow::GetId() const
Devuelve el identificador de la ventana.
Observaciones
Cada ventana tiene un identificador entero. Si la aplicación no ha proporcionado uno (o el predeterminado wxID_ANY) se generará un identificador único con valor negativo.
GetLabel()
virtual wxString wxWindow::GetLabel() const
Forma genérica de obtener una etiqueta de cualquier ventana, a efectos de identificación.
Observaciones
La interpretación de esta función difiere de una clase a otra. Para marcos y diálogos, el valor devuelto es el título. Para botones o controles de texto estáticos, es el texto del botón. Esta función puede ser útil para meta-programas (como herramientas de prueba o programas de acceso para personas con necesidades especiales) que necesitan identificar ventanas por su nombre.
Reimplementado en wxControl, wxCommandLinkButton, y wxButton.
GetLayoutDirection()
virtual wxLayoutDirection wxWindow::GetLayoutDirection() const
Devuelve la dirección de diseño para esta ventana, Hay que tener en cuenta que se devuelve wxLayout_Default si la dirección de diseño no es compatible.
GetMaxClientSize()
virtual wxSize wxWindow::GetMaxClientSize() const
Devuelve el tamaño máximo del área cliente de la ventana.
Es una indicación para el mecanismo de diseño del visualizador de que este es el tamaño máximo posible, así como el límite superior del tamaño de la ventana que se puede establecer con SetClientSize().
GetMaxHeight()
int wxWindow::GetMaxHeight() const
Devuelve el componente vertical del tamaño máximo de la ventana.
El valor devuelto es wxDefaultCoord si no se ha establecido la anchura máxima.
GetMaxSize()
virtual wxSize wxWindow::GetMaxSize() const
Devuelve el tamaño máximo de la ventana.
Esto es una indicación para el mecanismo de diseño sizer que este es el tamaño máximo posible, así como el límite superior en el tamaño de la ventana ajustable mediante SetSize().
GetMaxWidth()
int wxWindow::GetMaxWidth() const
Devuelve el componente horizontal del tamaño máximo de la ventana.
El valor devuelto es wxDefaultCoord si no se ha establecido la anchura máxima.
GetMinClientSize()
virtual wxSize wxWindow::GetMinClientSize() const
Devuelve el tamaño mínimo del área de cliente de la ventana, una indicación al mecanismo de diseño del sizer de que este es el tamaño mínimo requerido de su área de cliente.
Normalmente solo devuelve el valor establecido por SetMinClientSize(), pero se puede sobrescribir para hacer el cálculo bajo demanda.
GetMinHeight()
int wxWindow::GetMinHeight() const
Devuelve el componente vertical del tamaño mínimo de la ventana.
El valor devuelto es wxDefaultCoord si no se ha establecido la altura mínima.
GetMinSize()
virtual wxSize wxWindow::GetMinSize() const
Devuelve el tamaño mínimo de la ventana, una indicación al mecanismo de diseño del sizer de que este es el tamaño mínimo requerido.
Este método normalmente sólo devuelve el valor establecido por SetMinSize(), pero puede ser anulado para hacer el cálculo bajo demanda.
GetMinWidth()
int wxWindow::GetMinWidth() const
Devuelve el componente horizontal del tamaño mínimo de la ventana.
El valor devuelto es wxDefaultCoord si no se ha establecido la anchura mínima.
GetName()
virtual wxString wxWindow::GetName() const
Devuelve el nombre de la ventana.
Observaciones
No se garantiza que este nombre sea único; es responsabilidad del programador proporcionar un nombre apropiado en el constructor de la ventana o mediante SetName().
GetNextSibling()
wxWindow* wxWindow::GetNextSibling() const
Devuelve la ventana siguiente a esta entre las hijas del padre o NULL si esta ventana es la última hija.
GetOrCreateAccessible()
wxAccessible* wxWindow::GetOrCreateAccessible()
Devuelve el objeto accesible, llamando a CreateAccessible si es necesario.
Puede devolver NULL, en cuyo caso se utiliza system-provide accessible.
GetParent()
wxWindow* wxWindow::GetParent() const
Devuelve el padre de la ventana, o NULL si no hay padre.
GetPopupMenuSelectionFromUser()
int wxWindow::GetPopupMenuSelectionFromUser( wxMenu & menu, const wxPoint & pos = wxDefaultPosition )
Esta función muestra un menú emergente en la posición dada en esta ventana y devuelve el id seleccionado.
Puede ser más conveniente que la función de propósito general PopupMenu() para menús simples que proponen una elección en una lista de cadenas al usuario.
Hay que tener en cuenta que para evitar conflictos inesperados entre los ids (normalmente consecutivos) utilizados por el menú pasado a esta función y los manejadores EVT_UPDATE_UI() existentes, esta función desactiva temporalmente las actualizaciones de UI para la ventana, por lo que se necesita desactivar manualmente (o alternar o ...) cualquier elemento que deba ser desactivado en el menú antes de mostrarlo.
El parámetro menu es el menú a mostrar. El parámetro pos (o los parámetros x e y) es la posición en la que mostrar el menú en coordenadas cliente. Se recomienda no especificar explícitamente las coordenadas cuando se llama a este método en respuesta a un clic del ratón, porque algunos de los ports (concretamente, wxGTK) pueden hacer un mejor trabajo posicionando el menú en ese caso.
Valor de retorno
El id del elemento de menú seleccionado o wxID_NONE si no se ha seleccionado ninguno o se ha producido un error.
GetPopupMenuSelectionFromUser()
int wxWindow::GetPopupMenuSelectionFromUser( wxMenu & menu, int x, int y )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
GetPosition()
wxPoint wxWindow::GetPosition() const
Obtiene la posición de la ventana en píxeles, relativa a la ventana padre para las ventanas hijas o relativa al origen de visualización para las ventanas de nivel superior.
GetPosition()
void wxWindow::GetPosition( int * x, int * y ) const
Obtiene la posición de la ventana en píxeles, relativa a la ventana padre para las ventanas hijas o relativa al origen de visualización para las ventanas de nivel superior.
Parámetros
- x
- Recibe la posición x de la ventana si no es NULL.
- y
- Recibe la posición y de la ventana si no es NULL.
Nota: En wxPerl este método se implementa como GetPositionXY() devolviendo una lista de 2 elementos (x, y).
GetPrevSibling()
wxWindow* wxWindow::GetPrevSibling() const
Devuelve la ventana anterior a esta entre las hijas del padre o NULL si esta ventana es la primera hija.
GetRect()
wxRect wxWindow::GetRect() const
Devuelve la posición y el tamaño de la ventana como un objeto wxRect.
GetScreenPosition()
wxPoint wxWindow::GetScreenPosition() const
Devuelve la posición de la ventana en coordenadas de pantalla, tanto si la ventana es hija como si es de nivel superior.
GetScreenPosition()
void wxWindow::GetScreenPosition( int * x, int * y ) const
Devuelve la posición de la ventana en coordenadas de pantalla, tanto si la ventana es hija como si es de nivel superior.
Parámetros
- x
- Recibe la posición x de la ventana en la pantalla si no es NULL.
- y
- Recibe la posición y de la ventana en la pantalla si no es NULL.
GetScreenRect()
wxRect wxWindow::GetScreenRect() const
Devuelve la posición y el tamaño de la ventana en la pantalla como un objeto wxRect.
GetScrollPos()
virtual int wxWindow::GetScrollPos(int orientation) const
Devuelve la posición de la barra de desplazamiento incorporada.
GetScrollRange()
virtual int wxWindow::GetScrollRange(int orientation) const
Devuelve el rango de la barra de desplazamiento incorporada.
GetScrollThumb()
virtual int wxWindow::GetScrollThumb(int orientation) const
Devuelve el tamaño de la barra de desplazamiento.
GetSize()
wxSize wxWindow::GetSize() const
Consulte la sobrecarga GetSize(int*,int*) para obtener más información.
GetSize()
void wxWindow::GetSize( int * width, int * height ) const
Devuelve el tamaño de toda la ventana en píxeles, incluyendo la barra de título, el borde, las barras de desplazamiento, etc.
Hay que tener en cuenta que si esta ventana es de nivel superior y está minimizada, el tamaño devuelto es el tamaño de la ventana restaurada, no el tamaño del icono de la ventana.
Parámetros
- width
- Recibe el ancho de la ventana.
- height
- Recibe la altura de la ventana.
Nota: En wxPerl este método se implementa como GetSizeWH() devolviendo una lista de 2 elementos (anchura, altura).
GetSizer()
wxSizer* wxWindow::GetSizer() const
Devuelve el tamaño asociado a la ventana por una llamada previa a SetSizer(), o NULL.
GetTextExtent()
wxSize wxWindow::GetTextExtent(const wxString & string) const
Obtiene las dimensiones de la cadena tal y como se dibujaría en la ventana con la fuente actualmente seleccionada.
GetTextExtent()
void wxWindow::GetTextExtent( const wxString & string, int * w, int * h, int * descent = NULL, int * externalLeading = NULL, const wxFont * font = NULL ) const
Obtiene las dimensiones de la cadena tal y como se dibujaría en la ventana con la fuente actualmente seleccionada.
La extensión del texto se devuelve en los punteros w y h.
Parámetros
- string
- Cadena cuya extensión se desea medir.
- w
- Valor de retorno para la anchura.
- h
- Valor de retorno para la altura.
- descent
- Valor de retorno para el descenso (opcional).
- externalLeading
- Valor de retorno para el interlineado externo (opcional).
- font
- Fuente a utilizar en lugar de la fuente actual de la ventana (opcional).
Nota: En wxPerl este método solo toma los parámetros string y opcionalmente font, y devuelve una lista de 4 elementos (x, y, descent, externalLeading).
GetThemeEnabled()
virtual bool wxWindow::GetThemeEnabled() const
Devuelve true si la ventana utiliza el tema del sistema para dibujar su fondo.
GetToolTip()
wxToolTip* wxWindow::GetToolTip() const
Obtiene el tooltip asociado o NULL si no hay ninguno.
GetToolTipText()
wxString wxWindow::GetToolTipText() const
Obtiene el texto del tooltip asociado o cadena vacía si no hay ninguno.
GetUpdateClientRect()
wxRect wxWindow::GetUpdateClientRect() const
Obtiene la caja delimitadora del rectángulo de actualización en coordenadas del cliente.
GetUpdateRegion()
const wxRegion& wxWindow::GetUpdateRegion() const
Devuelve la región que especifica qué partes de la ventana han sido dañadas.
Solo debe ser llamado dentro de un manejador de wxPaintEvent.
GetValidator()
virtual wxValidator* wxWindow::GetValidator()
Funciones de validación.
Devuelve un puntero al validador actual de la ventana, o NULL si no hay ninguno.
GetVirtualSize()
wxSize wxWindow::GetVirtualSize() const
Obtiene el tamaño virtual de la ventana en píxeles.
Por defecto devuelve el tamaño del cliente de la ventana, pero después de una llamada a SetVirtualSize() devolverá el tamaño establecido con ese método.
GetVirtualSize()
void wxWindow::GetVirtualSize( int * width, int * height ) const
Como la otra sobrecarga GetVirtualSize() pero utiliza punteros en su lugar.
Parámetros
- width
- Recibe el ancho virtual de la ventana.
- height
- Recibe la altura virtual de la ventana.
GetWindowBorderSize()
virtual wxSize wxWindow::GetWindowBorderSize() const
Devuelve el tamaño de los bordes izquierdo/derecho y superior/inferior de esta ventana en componentes x e y del resultado respectivamente.
GetWindowStyle()
long wxWindow::GetWindowStyle() const
Ver GetWindowStyleFlag() para más información.
GetWindowStyleFlag()
virtual long wxWindow::GetWindowStyleFlag() const
Obtiene el estilo de ventana que fue pasado al constructor o al método Create().
GetWindowStyle() es otro nombre para la misma función.
GetWindowVariant()
wxWindowVariant wxWindow::GetWindowVariant() const
Devuelve el valor previamente pasado a SetWindowVariant().
HandleAsNavigationKey()
bool wxWindow::HandleAsNavigationKey (const wxKeyEvent & event)
Esta función generará la llamada apropiada a Navigate() si el evento de tecla es uno utilizado normalmente para la navegación por teclado y devolverá true en este caso.
Devuelve
Devuelve true si la tecla pulsada era para navegación y fue manejada, false en caso contrario.
HandleWindowEvent()
bool wxWindow::HandleWindowEvent(wxEvent & event) const
Abreviatura de:
GetEventHandler()->SafelyProcessEvent(event);
HasCapture()
virtual bool wxWindow::HasCapture() const
Devuelve true si esta ventana tiene la captura del ratón actual.
HasExtraStyle()
bool wxWindow::HasExtraStyle(int exFlag) const
Devuelve true si la ventana tiene el bit exFlag dado en sus estilos extra.
HasFlag()
bool wxWindow::HasFlag(int flag) const
Devuelve true si la ventana tiene activado el bit de flag dado.
HasFocus()
virtual bool wxWindow::HasFocus() const
Devuelve true si la ventana (o en caso de controles compuestos, su ventana hija principal) tiene foco.
HasMultiplePages()
virtual bool wxWindow::HasMultiplePages() const
Este método debe ser sobrescrito para devolver true si esta ventana tiene múltiples páginas.
Todas las clases estándar con múltiples páginas como wxNotebook, wxListbook y wxTreebook ya lo sobrescriben para que devuelva true y las clases definidas por el usuario con un comportamiento similar también deberían hacerlo, para permitir que la biblioteca gestione dichas ventanas adecuadamente.
HasScrollbar()
bool wxWindow::HasScrollbar(int orient) const
Devuelve true si esta ventana tiene actualmente una barra de desplazamiento para esta orientación.
Este método puede devolver false incluso cuando CanScroll() para la misma orientación devuelve true, pero si CanScroll() devuelve false, es decir, el desplazamiento en esta dirección no está habilitado en absoluto, HasScrollbar() siempre devuelve false también.
HasTransparentBackground()
virtual bool wxWindow::HasTransparentBackground()
Devuelve true si el fondo de esta ventana es transparente (como, por ejemplo, para wxStaticText) y debería mostrar el fondo de la ventana padre.
Este método se utiliza principalmente de forma interna por la propia biblioteca y normalmente no debería tener que llamarlo. Sin embargo, puede que haya que sobrescribirlo en una clase derivada de wxWindow para asegurarse de que el fondo se pinta correctamente.
Hide()
bool wxWindow::Hide()
Equivale a llamar a wxWindow::Show(false).
HideWithEffect()
virtual bool wxWindow::HideWithEffect( wxShowEffect effect, unsigned int timeout = 0 )
Esta función oculta una ventana, como Hide(), pero utilizando un efecto visual especial si es posible.
Los parámetros de esta función son los mismos que para ShowWithEffect(), por favor ver su descripción allí.
HitTest()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la siguiente función en los argumentos que acepta.
HitTest()
Devuelve dónde se encuentra exactamente el punto dado.
Este método se utiliza para comprobar si el punto se encuentra dentro del área de la ventana del cliente o en una de sus barras de desplazamiento.
Las coordenadas del punto se especifican en coordenadas de la ventana cliente.
InformFirstDirection()
virtual bool wxWindow::InformFirstDirection( int direction, int size, int availableOtherDir )
wxSizer y sus clases amigas utilizan esta función para dar una oportunidad a un componente de recalcular su tamaño mínimo una vez que se conoce uno de los componentes de tamaño final.
Anular esta función cuando sea útil (como para wxStaticText que puede extenderse a lo largo de varias líneas). El parámetro availableOtherDir indica al elemento cuánto espacio más hay disponible en la dirección opuesta (-1 si se desconoce).
InheritAttributes()
virtual void wxWindow::InheritAttributes()
Esta función es (o debería ser, en el caso de controles personalizados) llamada durante la creación de la ventana para configurar inteligentemente los atributos visuales de la ventana, es decir, la fuente y los colores de primer plano y fondo.
Por "inteligentemente" se entiende lo siguiente: por defecto, todas las ventanas utilizan sus propios atributos por defecto GetClassDefaultAttributes(). Sin embargo, si algunos de los atributos de los padres se cambian explícitamente (es decir, utilizando SetFont() y no wxWindow::SetOwnFont) y si el atributo correspondiente no se ha establecido explícitamente para esta ventana, entonces esta ventana toma el mismo valor utilizado por el padre. Además, si la ventana sobrescribe ShouldInheritColours() para que devuelva false, los colores no cambiarán y sólo lo hará la fuente.
Esta lógica bastante complicada es necesaria para acomodar los diferentes escenarios de uso. El más común es cuando se utilizan todos los atributos por defecto y, en este caso, no se debería heredar nada, ya que en las GUIs modernas los diferentes controles utilizan diferentes fuentes (y colores) que sus hermanos, por lo que no pueden heredar el mismo valor del padre. Sin embargo, también se consideró conveniente permitir simplemente cambiar los atributos de todos los hijos a la vez con sólo cambiar la fuente o el color de su padre común, por lo tanto, en este caso heredamos los atributos de los padres.
InheritsBackgroundColour()
bool wxWindow::InheritsBackgroundColour() const
Devuelve true si esta ventana hereda el color de fondo de su padre.
InheritsForegroundColour()
bool wxWindow::InheritsForegroundColour() const
Devuelve true si esta ventana hereda el color de primer plano de su padre.
InitDialog()
virtual void wxWindow::InitDialog()
Envía un evento wxEVT_INIT_DIALOG, cuyo manejador normalmente transfiere datos al diálogo a través de validadores.
InvalidateBestSize()
void wxWindow::InvalidateBestSize()
Restablece el valor de tamaño óptimo almacenado en caché para que se vuelva a calcular la próxima vez que se necesite.
IsBeingDeleted()
bool wxWindow::IsBeingDeleted() const
Devuelve true si esta ventana está en proceso de ser destruida.
Las ventanas de nivel superior no se borran inmediatamente, sino que se programan para su destrucción posterior para darles tiempo a procesar cualquier mensaje pendiente; véase la descripción de Destroy().
Esta función devuelve true si esta ventana, o una de sus ventanas padre, está programada para ser destruida y puede ser útil para evitar manipularla ya que normalmente es inútil hacer algo con una ventana que está a punto de desaparecer de todas formas.
IsDescendant()
bool wxWindow::IsDescendant(wxWindow * win) const
Comprueba si la ventana especificada es descendiente de ésta.
Devuelve true si la ventana es descendiente (es decir, hijo o nieto o bisnieto o ...) de ésta.
Hay que tener en cuenta que una ventana nunca puede ser descendiente de otra si se encuentran en ventanas de nivel superior diferentes, es decir, un hijo de un wxDialog no se considera descendiente del wxFrame padre del diálogo.
Parámetros
- win
- Cualquier ventana, posiblemente NULL (entonces siempre se devuelve false).
IsDoubleBuffered()
virtual bool wxWindow::IsDoubleBuffered() const
Devuelve true si el contenido de la ventana es doble-buffered por el sistema, es decir, si cualquier dibujo realizado en la ventana se hace realmente en una superficie de respaldo temporal y se transfiere a la pantalla de una sola vez más tarde.
IsEnabled()
bool wxWindow::IsEnabled() const
Devuelve true si la ventana está habilitada, es decir, si acepta entradas del usuario, false en caso contrario.
Hay que tener en cuenta que este método puede devolver false incluso si esta ventana no ha sido desactivada explícitamente cuando una de sus ventanas padre está desactivada. Para obtener el estado intrínseco de esta ventana, utilizar IsThisEnabled().
IsExposed()
bool wxWindow::IsExposed( int x, int y ) const
Devuelve true si el área del punto o rectángulo dado ha sido expuesta desde el último repintado.
Llamar a esto en un controlador de eventos de pintura para optimizar el redibujado redibujando sólo aquellas áreas que han sido expuestas.
IsExposed()
bool wxWindow::IsExposed( int x, int y, int w, int h ) const
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
IsExposed()
bool wxWindow::IsExposed(wxPoint & pt) const
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
IsExposed()
bool wxWindow::IsExposed(wxRect & rect) const
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
IsFocusable()
bool wxWindow::IsFocusable() const
¿Puede esta ventana tener foco?
IsFrozen()
bool wxWindow::IsFrozen() const
Devuelve true si la ventana está actualmente congelada por una llamada a Freeze().
IsRetained()
virtual bool wxWindow::IsRetained() const
Devuelve true si la ventana se mantiene, false en caso contrario.
Observaciones
Las ventanas retenidas sólo están disponibles en plataformas X.
IsScrollbarAlwaysShown()
virtual bool wxWindow::IsScrollbarAlwaysShown(int orient) const
Devuelve si se muestra siempre una barra de desplazamiento.
Parámetros
- orient
- Orientación a comprobar, ya sea wxHORIZONTAL o wxVERTICAL.
IsShown()
virtual bool wxWindow::IsShown() const
Devuelve true si la ventana se muestra, false si se ha ocultado.
IsShownOnScreen()
virtual bool wxWindow::IsShownOnScreen() const
Devuelve true si la ventana está físicamente visible en la pantalla, es decir, se muestra y todos sus padres hasta la ventana toplevel se muestran también.
IsThisEnabled()
bool wxWindow::IsThisEnabled() const
Devuelve true si esta ventana está intrínsecamente habilitada, false en caso contrario, es decir, si se ha llamado a Enable(false).
Este método se utiliza principalmente para wxWidgets en sí, el código de usuario normalmente debería utilizar IsEnabled() en su lugar.
IsTopLevel()
virtual bool wxWindow::IsTopLevel() const
Devuelve true si la ventana dada es de nivel superior.
Actualmente todos los marcos y diálogos se consideran ventanas de nivel superior (incluso si tienen una ventana padre).
Reimplementado en wxAuiMDIChildFrame.
IsTransparentBackgroundSupported()
virtual bool wxWindow::IsTransparentBackgroundSupported(wxString * reason = NULL) const
Comprueba si el uso de fondo transparente puede funcionar.
Si esta función devuelve false, llamar a SetBackgroundStyle() con wxBG_STYLE_TRANSPARENT no funcionará. Si devuelve true, establecer un estilo transparente debería funcionar normalmente.
Hay que tener en cuenta que esta función normalmente se llamaría en el padre de una ventana que desea establecer el estilo de fondo transparente para que la ventana para la que se llama a este método debe ser totalmente creado.
Parámetros
- reason
- Si no es NULL, se proporciona un mensaje de error si la transparencia no está soportada.
Valor de retorno
true si la transparencia de fondo está soportada.
Layout()
virtual bool wxWindow::Layout()
Distribuye los hijos de esta ventana utilizando el tamaño asociado.
Si no se ha asociado un tamaño a esta ventana (ver SetSizer()), esta función no hace nada, a menos que se trate de una ventana de nivel superior (véase wxTopLevelWindow::Layout()).
Hay que tener en cuenta que este método es llamado automáticamente cuando cambia el tamaño de la ventana si tiene el sizer asociado (o si se ha llamado explícitamente a SetAutoLayout() con argumento true), asegurando que siempre se disponga correctamente.
Valor de retorno
Siempre devuelve true, el valor de retorno no es útil.
LineDown()
bool wxWindow::LineDown()
Lo mismo que ScrollLines(1).
LineUp()
bool wxWindow::LineUp()
Lo mismo que ScrollLines(-1).
Lower()
virtual void wxWindow::Lower()
Baja la ventana a la parte inferior de la jerarquía de ventanas (orden Z).
Observaciones
Esta función solo funciona para las clases derivadas de wxTopLevelWindow.
Move()
void wxWindow::Move( const wxPoint & pt, int flags = wxSIZE_USE_EXISTING )
Mueve la ventana a la posición dada.
Parámetros
- pt
- Objeto wxPoint que representa la posición.
- flags
- Véase SetSize() para más información sobre este parámetro.
Observaciones
Las implementaciones de SetSize() también pueden implementar implícitamente la función Move(), que está definida en la clase base wxWindow como llamada:
SetSize(x, y, wxDefaultCoord, wxDefaultCoord, wxSIZE_USE_EXISTING);
Move()
void wxWindow::Move( int x, int y, int flags = wxSIZE_USE_EXISTING )
Mueve la ventana a la posición dada.
Parámetros
- x
- Posición x requerida.
- y
- Posición y requerida.
- flags
- Ver SetSize() para más información sobre este parámetro.>
Observaciones
Las implementaciones de SetSize() también pueden implementar implícitamente la función Move(), que está definida en la clase base wxWindow como llamada:
SetSize(x, y, wxDefaultCoord, wxDefaultCoord, wxSIZE_USE_EXISTING);
MoveAfterInTabOrder()
void wxWindow::MoveAfterInTabOrder(wxWindow * win)
Mueve esta ventana en el orden de navegación por pestañas después de la win especificada.
Esto significa que cuando el usuario pulsa la tecla TAB en esa otra ventana, el foco cambia a esta ventana.
El orden de pestañas por defecto es el mismo que el orden de creación, esta función y MoveBeforeInTabOrder() permiten cambiarlo después de crear todas las ventanas.
Parámetros
- win
- Un hermano de esta ventana que debería precederla en el orden de tabulación, no debe ser NULL
MoveBeforeInTabOrder()
void wxWindow::MoveBeforeInTabOrder(wxWindow * win)
Igual que MoveAfterInTabOrder() excepto que inserta esta ventana justo antes de win en lugar de ponerla justo después.
Navigate()
bool wxWindow::Navigate(int flags = wxNavigationKeyEvent::IsForward)
Realiza una acción de navegación por teclado a partir de esta ventana.
Este método es equivalente a llamar al método NavigateIn() en la ventana padre.
Parámetros
- flags
- Una combinación de wxNavigationKeyEvent::IsForward y wxNavigationKeyEvent::WinChange.
Valor de retorno
Devuelve true si el foco se ha movido a otra ventana o false si no ha cambiado nada.
Observaciones
Puede que se desee llamar a esto desde un manejador de pulsación de tecla personalizado de un control de texto para realizar el comportamiento de navegación por defecto para la tecla tabulador, ya que el comportamiento por defecto estándar para un control de texto multilínea con el estilo wxTE_PROCESS_TAB es insertar un tabulador y no navegar al siguiente control. Ver también wxNavigationKeyEvent y HandleAsNavigationKey.
NavigateIn()
bool wxWindow::NavigateIn(int flags = wxNavigationKeyEvent::IsForward)
Realiza una acción de navegación por teclado dentro de esta ventana.
Consultar Navigate() para obtener más información.
NewControlId()
static wxWindowID wxWindow::NewControlId(int count = 1)
Crea un nuevo ID o rango de IDs que no están actualmente en uso.
Los IDs estarán reservados hasta que se asignen a un ID de wxWindow o se liberen con UnreserveControlId().
Ver IDs de ventana para más información.
Parámetros
- count
- El número de IDs secuenciales a reservar.
Devuelve
Devuelve el ID o el primer ID del rango (es decir, el más negativo), o wxID_NONE si no se ha podido asignar el número especificado de identificadores.
OnInternalIdle()
virtual void wxWindow::OnInternalIdle()
Esta función virtual normalmente solo se utiliza internamente, pero a veces una aplicación puede necesitarla para implementar una funcionalidad que no debe ser desactivada por una aplicación que defina un manejador OnIdle en una clase derivada.
Esta función puede ser utilizada para hacer pintura retardada, por ejemplo, y la mayoría de las implementaciones llaman a UpdateWindowUI() con el fin de enviar eventos de actualización a la ventana en tiempo de inactividad.
PageDown()
bool wxWindow::PageDown()
Lo mismo que ScrollPages(1).
PageUp()
bool wxWindow::PageUp()
Lo mismo que ScrollPages(-1).
PopEventHandler()
wxEvtHandler* wxWindow::PopEventHandler(bool deleteHandler = false)
Elimina y devuelve el manejador de eventos situado más arriba en la pila de manejadores de eventos.
Por ejemplo, en el caso de:

al llamar a W->PopEventHandler(), el manejador de eventos A será eliminado y B será el primer manejador de la pila.
hay que tener en cuenta que es un error llamar a esta función cuando no se han insertado manejadores de eventos en esta ventana (es decir, cuando la propia ventana es su único manejador de eventos).
Parámetros
- deleteHandler
- Si es true, el manejador será borrado después de ser eliminado (y el valor devuelto será NULL).
PopupMenu()
Despliega el menú dado en las coordenadas especificadas, relativas a esta ventana, y devuelve el control cuando el usuario ha descartado el menú.
Si se selecciona un elemento del menú, se genera el evento de menú correspondiente y se procesa de la forma habitual. Si no se especifican coordenadas, se utiliza la posición actual del cursor del ratón.
menu es el menú que aparecerá.
La posición en la que aparecerá el menú puede especificarse como un wxPoint pos o mediante dos enteros (x e y).
Hay que tener en cuenta que esta función cambia el foco a esta ventana antes de mostrar el menú.
Observaciones
Justo antes de que aparezca el menú, se llama a wxMenu::UpdateUI para asegurarse de que los elementos del menú están en el estado correcto. El menú no es borrado por la ventana. Se recomienda no especificar explícitamente las coordenadas cuando se llama a PopupMenu en respuesta a un clic del ratón, porque algunos de los ports (concretamente, wxGTK) pueden hacer un mejor trabajo posicionando el menú en ese caso.
PopupMenu()
bool wxWindow::PopupMenu( wxMenu * menu, int x, int y )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
PostSizeEvent()
void wxWindow::PostSizeEvent()
Envía un evento de tamaño a la ventana.
Es lo mismo que SendSizeEvent() con el argumento wxSEND_EVENT_POST.
PostSizeEventToParent()
void wxWindow::PostSizeEventToParent()
Envía un evento de tamaño al padre de esta ventana.
Es lo mismo que SendSizeEventToParent() con el argumento wxSEND_EVENT_POST.
ProcessEvent()
virtual bool wxWindow::ProcessEvent(wxEvent & event)
Esta función es pública en wxEvtHandler pero protegida en wxWindow porque para wxWindows siempre se debe llamar a ProcessEvent() sobre el puntero devuelto por GetEventHandler() y no sobre el propio objeto wxWindow.
Por conveniencia, se proporciona un método ProcessWindowEvent() como sinónimo de
GetEventHandler()->ProcesarEvento()
Hay que tener en cuenta que todavía es posible llamar a estas funciones directamente sobre el objeto wxWindow (por ejemplo, convirtiéndolo en wxEvtHandler), pero esto creará errores sutiles cuando se trate de ventanas con manejadores de eventos.
Esto también es válido para el resto de funciones wxEvtHandler.
Reimplementado a partir de wxEvtHandler.
ProcessPendingEvents()
void wxWindow::ProcessPendingEvents()
Ver ProcessEvent() para más información sobre por qué no se debería usar esta función y la razón de hacer esta función protegida en wxWindow.
ProcessThreadEvent()
bool wxWindow::ProcessThreadEvent(const wxEvent & event)
Ver ProcessEvent() para más información sobre por qué no se debería usar esta función y la razón de hacer esta función protegida en wxWindow.
ProcessWindowEvent()
bool wxWindow::ProcessWindowEvent(wxEvent & event)
Envoltura conveniente para ProcessEvent().
Es lo mismo que escribir
GetEventHandler()->ProcesarEvento(evento);
pero más conveniente. Hay que tener en cuenta que ProcessEvent() no puede ser llamada para objetos wxWindow ya que ignora los manejadores de eventos asociados con la ventana; utilizar esta función en su lugar.
ProcessWindowEventLocally()
bool wxWindow::ProcessWindowEventLocally(wxEvent & event)
Envoltura para wxEvtHandler::ProcessEventLocally().
Este método es similar a ProcessWindowEvent() pero puede usarse para buscar el manejador de eventos solo en esta ventana y en cualquier manejador de eventos colocado sobre ella. A diferencia de ProcessWindowEvent() no propagará el evento hacia arriba. Pero utilizará el validador y los manejadores de eventos asociados con esta ventana, si los hay.
PushEventHandler()
void wxWindow::PushEventHandler(wxEvtHandler * handler)
Coloca este manejador de eventos en la pila de eventos de la ventana.
Un manejador de eventos es un objeto capaz de procesar los eventos enviados a una ventana. Por defecto, la ventana es su propio manejador de eventos, pero una aplicación puede desear sustituirlo por otro, por ejemplo para permitir la implementación central de manejo de eventos para una variedad de diferentes clases de ventanas.
wxWindow::PushEventHandler permite a una aplicación establecer una pila de manejadores de eventos, donde un evento no manejado por un manejador de eventos se pasa al siguiente en la cadena.
Por ejemplo, si se tienen dos manejadores de eventos A y B y una instancia de wxWindow W y se llama a:
W->PushEventHandler(A); W->PushEventHandler(B);
se terminará con la siguiente situación:

Hay que tener en cuenta que se puede utilizar wxWindow::PopEventHandler para eliminar el manejador de eventos.
Parámetros
- handler
- Especifica el manejador a ser empujado. No debe formar parte de una cadena wxEvtHandler; fallará un assert si no está desvinculado (ver wxEvtHandler::IsUnlinked).
QueueEvent()
virtual void wxWindow::QueueEvent(wxEvent * event)
Ver ProcessEvent() para más información sobre por qué no se debería usar esta función y la razón de hacer esta función protegida en wxWindow.
Reimplementado de wxEvtHandler.
Raise()
virtual void wxWindow::Raise()
Eleva la ventana a la parte superior de la jerarquía de ventanas (orden Z).
Obsérvese que esta función solo solicita al gestor de ventanas que eleve esta ventana a la parte superior del orden Z. Dependiendo de la configuración, el gestor de ventanas puede elevar la ventana, no hacerlo en absoluto o indicar que una ventana solicitó ser elevada de alguna otra manera, por ejemplo, haciendo parpadear su icono si está minimizada.
Observaciones
Esta función solo funciona para clases derivadas de wxTopLevelWindow.
Refresh()
virtual void wxWindow::Refresh( bool eraseBackground = true, const wxRect * rect = NULL )
Hace que esta ventana, y todas sus hijas recursivamente, sean repintadas.
Hay que tener en cuenta que el repintado no se produce inmediatamente, sino solo durante la siguiente iteración del bucle de eventos, si se necesita actualizar la ventana inmediatamente debe se utilizar Update() en su lugar.
Parámetros
- eraseBackground
- Si es true, también se borrará el fondo. Hay que tener en cuenta que en los ports que no son MSW el fondo siempre se borra.
- rect
- Si no es NULL, solo el rectángulo dado será tratado como dañado.
RefreshRect()
void wxWindow::RefreshRect( const wxRect & rect, bool eraseBackground = true )
RegisterHotKey()
virtual bool wxWindow::RegisterHotKey( int hotkeyId, int modifiers, int virtualKeyCode )
Registra una tecla de acceso rápido para todo el sistema.
Cada vez que el usuario pulse la tecla de acceso rápido registrada aquí, esta ventana recibirá un evento de tecla de acceso rápido.
Recibirá el evento incluso si la aplicación está en segundo plano y no tiene el foco de entrada porque el usuario está trabajando con alguna otra aplicación.
Parámetros
- hotkeyId
- Identificador numérico de la tecla de acceso rápido. Para aplicaciones debe estar entre 0 y 0xBFFF. Si se llama a esta función desde una DLL compartida, debe ser un identificador único para todo el sistema entre 0xC000 y 0xFFFF. Este es un detalle específico de MSW.
- modifiers
- Una combinación bit a bit de wxMOD_SHIFT, wxMOD_CONTROL, wxMOD_ALT o wxMOD_WIN que especifica las teclas modificadoras que hay que pulsar junto con la tecla.
- virtualKeyCode
- El código de la tecla de acceso rápido, por ejemplo, un carácter ASCII como 'K' o uno de los elementos del enum wxKeyCode.
Valor de retorno
true si la tecla de acceso rápido se ha registrado correctamente. false si alguna otra aplicación ya ha registrado una tecla de acceso rápido con esta combinación modificador/virtualKeyCode.
Observaciones
Utilizar EVT_HOTKEY(hotkeyId, fnc) en la tabla de eventos para capturar el evento. Esta función solo está implementada actualmente en MSW y macOS y siempre devuelve false en los demás ports.
ReleaseMouse()
void wxWindow::ReleaseMouse()
Libera la entrada del ratón capturada con CaptureMouse().
RemoveChild()
virtual void wxWindow::RemoveChild(wxWindow * child )
Elimina una ventana secundaria.
Esta función es llamada automáticamente por las funciones de borrado de ventanas, por lo que no debería ser requerida por el programador de la aplicación. Hay que tener en cuenta que esta función es principalmente interna a wxWidgets y no debe ser llamada por el código de usuario.
Parámetros
- child
- Ventana hija a eliminar.
RemoveEventHandler()
bool wxWindow::RemoveEventHandler(wxEvtHandler * handler)
Encuentra el manejador dado en la pila de manejadores de eventos de windows y lo elimina (pero no lo borra) de la pila.
Ver wxEvtHandler::Unlink() para más información.
Parámetros
- handler
- El manejador de eventos a eliminar, debe ser no-NULL y debe estar presente en esta pila de manejadores de eventos de windows.
Valor de retorno
Devuelve true si fue encontrado y false en caso contrario (esto también resulta en un fallo de assert por lo que esta función solo debe ser llamada cuando se supone que el manejador está ahí).
Reparent()
virtual bool wxWindow::Reparent(wxWindow * newParent)
Vuelve a insertar la ventana, es decir, la ventana se eliminará de su ventana padre actual (p. ej. una barra de herramientas no estándar en un wxFrame) y luego reinsertada en otra.
Hay que tener en cuenta que actualmente es necesario llamar explícitamente a wxNotebook::RemovePage() antes de reasignar un padre a una página de cuaderno.
Parámetros
- newParent
- Nuevo padre.
SafelyProcessEvent()
bool wxWindow::SafelyProcessEvent(wxEvent & event)
Ver ProcessEvent() para más información sobre por qué no debería usar esta función y la razón de hacer esta función protegida en wxWindow.
ScreenToClient()
Convierte de coordenadas de pantalla a coordenadas de ventana de cliente.
Parámetros
- pt
- La posición de la pantalla.
ScreenToClient()
void wxWindow::ScreenToClient( int * x, int * y ) const
Convierte de coordenadas de pantalla a coordenadas de ventana de cliente.
Parámetros
- x
- Almacena la coordenada x de la pantalla y recibe la coordenada x del cliente.
- y
- Almacena la coordenada x de la pantalla y recibe la coordenada x del cliente.
ScrollLines()
virtual bool wxWindow::ScrollLines(int lines)
Desplaza la ventana el número dado de líneas hacia abajo (si lines es positivo) o hacia arriba.
Valor de retorno
Devuelve true si la ventana fue desplazada, false si ya estaba arriba/abajo y no se hizo nada.
Observaciones
Esta función solo está implementada actualmente en MSW y wxTextCtrl en wxGTK (también funciona para las clases wxScrolled en todas las plataformas).
ScrollPages()
virtual bool wxWindow::ScrollPages(int pages)
Desplaza la ventana el número dado de páginas hacia abajo (si pages es positivo) o hacia arriba.
Valor de retorno
Devuelve true si la ventana fue desplazada, false si ya estaba arriba/abajo y no se hizo nada.
Observaciones
Esta función sólo está implementada en MSW y wxGTK.
ScrollWindow()
virtual void wxWindow::ScrollWindow( int dx, int dy, const wxRect * rect = NULL )
Desplaza físicamente los píxeles de la ventana y mueve las ventanas hijas en consecuencia.
Parámetros
- dx
- Cantidad a desplazar horizontalmente.
- dy
- Cantidad a desplazar verticalmente.
- rect
- Rectángulo a desplazar, si es NULL, se desplaza toda la ventana (este es siempre el caso bajo wxGTK que no soporta este parámetro).
Observaciones
Hay que tener en cuenta que a menudo puede utilizar wxScrolled en lugar de utilizar esta función directamente.
SendDestroyEvent()
void wxWindow::SendDestroyEvent()
Genera un wxWindowDestroyEvent para esta ventana./p>
Es llamado por la propia ventana cuando se está destruyendo y por lo general no hay necesidad de llamarlo, pero ver wxWindowDestroyEvent para explicaciones de cuándo es posible que desee hacerlo.
SendIdleEvents()
virtual bool wxWindow::SendIdleEvents(wxIdleEvent & event)
Envía el evento de inactividad a la ventana y a todas las subventanas.
Devuelve true si se solicita más tiempo de inactividad.
SendSizeEvent()
virtual void wxWindow::SendSizeEvent(int flags = 0)
Esta función envía un evento de tamaño ficticio a la ventana permitiéndole redistribuir las posiciones de sus hijos.
A veces es útil llamar a esta función después de añadir o eliminar un hijo después de la creación del marco o si el tamaño de un hijo cambia. Hay que tener en cuenta que si el marco utiliza sizers o constraints para la disposición de los hijos, es suficiente con llamar directamente a wxWindow::Layout() y esta función no debería utilizarse en este caso.
Si flags incluye el valor wxSEND_EVENT_POST, esta función envía el evento, es decir, lo programa para su posterior procesamiento, en lugar de enviarlo directamente. También se puede utilizar PostSizeEvent() como un equivalente más legible de llamar a esta función con esta bandera.
Parámetros
- flags
- Puede incluir wxSEND_EVENT_POST. El valor por defecto es 0.
SendSizeEventToParent()
void wxWindow::SendSizeEventToParent(int flags = 0)
Envoltura segura para GetParent()->SendSizeEvent().
Esta función simplemente comprueba que la ventana tiene un padre válido que no está en proceso de ser borrado y llama a SendSizeEvent() sobre él. Es utilizada internamente por ventanas como las barras de herramientas, cuyo cambio de estado debe resultar en un redistribución del padre (por ejemplo, cuando se añade una barra de herramientas a la parte superior de la ventana, todas las demás ventanas deben desplazarse hacia abajo).
SetAcceleratorTable()
virtual void wxWindow::SetAcceleratorTable(const wxAcceleratorTable & accel)
Establece la tabla del acelerador para esta ventana.
SetAccessible()
void wxWindow::SetAccessible(wxAccessible * accessible)
Establece la accesibilidad para esta ventana.
Cualquier accesibilidad existente para esta ventana se borrará primero, si no es idéntico al accessible. Ver también wxAccessible.
SetAutoLayout()
void wxWindow::SetAutoLayout(bool autoLayout)
Determina si la función Layout() será llamada automáticamente cuando la ventana cambie de tamaño.
Este método es llamado implícitamente por SetSizer() pero si utiliza SetConstraints() debe ser llamado manualmente o de lo contrario el diseño de la ventana no se actualizará correctamente cuando cambie su tamaño.
Parámetros
- autoLayout
- Ponerlo a true si se desea que la función Layout() sea llamada automáticamente cuando la ventana cambie de tamaño.
SetBackgroundColour()
virtual bool wxWindow::SetBackgroundColour(const wxColour & colour)
Establece el color de fondo de la ventana.
Hay que tener en cuenta que al igual que con SetForegroundColour(), establecer el color de fondo de un control nativo puede no afectar a todo el control y podría no ser soportado en absoluto dependiendo del control y la plataforma.
Por favor, ver InheritAttributes() para una explicación de la diferencia entre este método y SetOwnBackgroundColour().
Parámetros
- color
- El color a utilizar como color de fondo; pasar wxNullColour para restablecer el color por defecto. Hay que tener en cuenta que es posible que desee utilizar wxSystemSettings::GetColour() para recuperar un color adecuado a utilizar en lugar de establecer uno codificado.
Observaciones
El color de fondo es normalmente pintado por la función por defecto del manejador de eventos wxEraseEvent bajo Windows y automáticamente bajo GTK. Hay que tener en cuenta que la configuración del color de fondo no provoca una actualización inmediata, por lo que se puede llamar a ClearBackground o Refresh después de llamar a esta función. El uso de esta función desactivará los intentos de utilizar temas para esta ventana, si el sistema los soporta. Hay que usarla con cuidado ya que normalmente los temas representan la apariencia elegida por el usuario para ser utilizada por todas las aplicaciones del sistema.
Valor de retorno
true si el color fue realmente cambiado, false si ya estaba establecido a este color y no se hizo nada.
SetBackgroundStyle()
virtual bool wxWindow::SetBackgroundStyle(wxBackgroundStyle style)
Establece el estilo de fondo de la ventana.
El estilo de fondo por defecto es wxBG_STYLE_ERASE que indica que el fondo de la ventana puede ser borrado en el manejador EVT_ERASE_BACKGROUND. Este es un valor por defecto seguro y compatible; sin embargo, puede que se quiera cambiar a wxBG_STYLE_SYSTEM si no se define ningún manejador de eventos de borrado de fondo, para evitar la generación innecesaria de eventos de borrado de fondo y dejar siempre que el sistema borre el fondo. Y se debería cambiar el estilo de fondo a wxBG_STYLE_PAINT si se define un manejador EVT_PAINT que sobrescriba completamente el fondo de la ventana ya que en este caso borrarlo previamente, ya sea en el manejador EVT_ERASE_BACKGROUND o en el manejador por defecto del sistema, resultaría en parpadeo ya que los píxeles del fondo se repintarían dos veces cada vez que la ventana se redibujase. Conviene asegurarse de que el fondo es completamente borrado por el manejador EVT_PAINT en este caso, ya que de lo contrario la basura puede quedar en la pantalla.
Hay que tener en cuenta que en versiones anteriores de wxWidgets una forma común de solucionar el problema de parpadeo antes mencionado era definir un manejador EVT_ERASE_BACKGROUND vacío. Establecer el estilo de fondo a wxBG_STYLE_PAINT es una solución más simple y eficiente para el mismo problema.
En wxGTK y wxOSX, se puede utilizar wxBG_STYLE_TRANSPARENT para obtener una transparencia total del fondo de la ventana. Hay que tener en cuenta que wxGTK soporta esto solo desde GTK 2.12 con un gestor de composición habilitado, llamar a IsTransparentBackgroundSupported() para comprobar si este es el caso, ver el ejemplo de hacerlo en el ejemplo shaped.
.Además, para que SetBackgroundStyle(wxBG_STYLE_TRANSPARENT) funcione, debe llamarse antes de Create(). Si se está usando una clase propia derivada de wxWindow se debe escribir el código de la siguiente manera:
class MyWidget : public wxWindow { public: MyWidget(wxWindow* parent, ...) : wxWindow() // Use default ctor here! { // Do this first: SetBackgroundStyle(wxBG_STYLE_TRANSPARENT); // And really create the window afterwards: Create(parent, ...); } };
SetCanFocus()
virtual void wxWindow::SetCanFocus(bool canFocus)
Este método sólo está implementado por ports que tienen soporte para TAB traversal nativo (como GTK+ 2.0).
Es llamado por el código de control del contenedor de wxWidgets para dar al sistema nativo una pista cuando se realiza el desplazamiento de TAB. Una llamada a esto no deshabilita o cambia el efecto de llamar programáticamente a SetFocus().
SetCaret()
void wxWindow::SetCaret(wxCaret * caret)
Establece el caret asociado a la ventana.
SetClientSize()
void wxWindow::SetClientSize(const wxRect & rect)
Establece el tamaño del área cliente de la ventana en píxeles.
El uso de esta función para dimensionar una ventana tiende a ser más independiente del dispositivo que SetSize(), ya que la aplicación no necesita preocuparse de las dimensiones del borde o de la barra de título cuando intenta ajustar la ventana alrededor de los elementos del panel, por ejemplo.
Hay que tener en cuenta que el valor especial de -1 que se puede utilizar en algunas otras funciones para preservar el tamaño existente no se admite aquí para la anchura y la altura, es decir, ambos deben ser enteros positivos válidos.
SetClientSize()
void wxWindow::SetClientSize(const wxSize & size)
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
SetClientSize()
void wxWindow::SetClientSize( int width, int height )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
SetConstraints()
void wxWindow::SetConstraints(wxLayoutConstraints * constraints)
Establece que la ventana tenga las restricciones de diseño dadas.
La ventana será la propietaria del objeto y se encargará de eliminarlo. Si la ventana ya posee un objeto de restricciones de diseño, éste será eliminado.
Parámetros
- constraints
- Las restricciones a establecer. Pasar NULL para desasociar y borrar las restricciones de la ventana.
Observaciones
Se debe llamar a SetAutoLayout() para indicar a una ventana que utilice las restricciones automáticamente en OnSize; de lo contrario, se debe anular OnSize y llamar a Layout() explícitamente. Cuando se establece un wxLayoutConstraints y un wxSizer, solo el sizer tendrá efecto.
SetContainingSizer()
void wxWindow::SetContainingSizer(wxSizer * sizer)
Utilizado internamente por wxSizer para notificar a la ventana que está siendo gestionada por el sizer dado.
Este método no debe ser llamado desde fuera de la biblioteca, a menos que se esté implementando una clase sizer personalizada - y en este último caso se debe llamar a este método con el puntero al propio sizer siempre que se añada una ventana a él y con argumento NULL cuando la ventana se elimine de él.
SetCursor()
virtual bool wxWindow::SetCursor(const wxCursor & cursor)
Establece el cursor de la ventana.
Hay que tener en cuenta que el cursor de la ventana también lo establece para los hijos de la ventana implícitamente.
El cursor puede ser wxNullCursor en cuyo caso el cursor de la ventana se restablecerá a su valor por defecto.
Parámetros
- cursor
- Especifica el cursor que la ventana debe mostrar normalmente.
SetDoubleBuffered()
void wxWindow::SetDoubleBuffered(bool on)
Activa o desactiva el doble buffering de la ventana si el sistema lo soporta.
SetDropTarget()
virtual void wxWindow::SetDropTarget(wxDropTarget * target)
Asocia un objetivo de drop a esta ventana.
Si la ventana ya tiene uno, se elimina.
SetEventHandler()
void wxWindow::SetEventHandler(wxEvtHandler * handler)
Establece el manejador de eventos para esta ventana.
Hay que tener en cuenta que si se utiliza esta función se puede querer utilizar como "siguiente" manejador del manejador la propia ventana; de esta forma cuando el manejador no procese un evento, la propia ventana tendrá la oportunidad de hacerlo.
Parámetros
- handler
- Especifica el manejador a establecer. No puede ser NULL.
SetExtraStyle()
virtual void wxWindow::SetExtraStyle(long exStyle)
Establece los bits de estilo extra para la ventana.
Los bits de estilo adicionales definidos actualmente se indican en la descripción de la clase.
SetFocus()
virtual void wxWindow::SetFocus()
Establece la ventana para recibir entradas de teclado.
SetFocusFromKbd()
virtual void wxWindow::SetFocusFromKbd()
Esta función es llamada por el código de navegación por teclado de wxWidgets cuando el usuario da el foco a esta ventana desde el teclado (p.e. usando la tecla TAB).
Por defecto este método simplemente llama a SetFocus() pero puede ser sobrescrito para hacer algo adicional en las clases derivadas.
SetFont()
virtual bool wxWindow::SetFont (const wxFont & font)
Establece la fuente para esta ventana.
Esta función no debe ser llamada para la ventana padre si no se desea que su fuente sea heredada por sus hijos, utilizar SetOwnFont() en su lugar en este caso y consultar InheritAttributes() para más explicaciones.
Hay que tener en cuenta que la fuente dada no se utiliza automáticamente para los objetos wxPaintDC asociados con esta ventana, se necesita llamar también a wxDC::SetFont. Sin embargo, esta fuente es utilizada por cualquier control estándar para dibujar su texto, así como por GetTextExtent().
Parámetros
- font
- Fuente a asociar con esta ventana, pase wxNullFont para restablecer la fuente por defecto.
Valor de retorno
true si la fuente fue realmente cambiada, false si ya estaba establecida a esta fuente y no se hizo nada.
SetForegroundColour()
virtual bool wxWindow::SetForegroundColour(const wxColour & colour)
Establece el color de primer plano de la ventana.
El significado del color de primer plano varía según la clase de ventana; puede ser el color del texto u otro color, o puede no utilizarse en absoluto. Además, no todos los controles nativos permiten cambiar su color de primer plano, por lo que este método puede cambiar su color sólo parcialmente o incluso no cambiarlo en absoluto.
Por favor, ver InheritAttributes() para una explicación de la diferencia entre este método y SetOwnForegroundColour().
Parámetros
- color
- El color a utilizar como color de primer plano; pasa wxNullColour para restablecer el color por defecto.
Valor de retorno
true si el color fue realmente cambiado, false si ya estaba establecido a este color y no se hizo nada.
SetHelpText()
void wxWindow::SetHelpText(const wxString & helpText)
Establece el texto de ayuda que se utilizará como ayuda contextual para esta ventana.
hay que tener en cuenta que el texto es almacenado por la implementación actual de wxHelpProvider, y no en el propio objeto ventana.
SetId()
void wxWindow::SetId(wxWindowID winid)
Establece el identificador de la ventana.
Observaciones
Cada ventana tiene un identificador entero. Si la aplicación no ha proporcionado uno, se generará un identificador. Normalmente, el identificador debe proporcionarse en el momento de la creación y no debe modificarse posteriormente.
SetInitialBestSize()
virtual void wxWindow::SetInitialBestSize(const wxSize & size)
Establece el tamaño inicial de la ventana si no se da ninguno (es decir, al menos uno de los componentes del tamaño pasado al constructor o Create() sea wxDefaultCoord).
Obsoleto
Utilizar SetInitialSize() en su lugar.
SetInitialSize()
void wxWindow::SetInitialSize(const wxSize & size = wxDefaultSize)
Un SetSize inteligente que rellenará los componentes de tamaño por defecto con los mejores valores de tamaño de la ventana.
También establece el tamaño mínimo de la ventana al valor pasado para su uso con los sizers. Esto significa que si un tamaño completo o parcial es pasado a esta función entonces los sizers usarán ese tamaño en lugar de los resultados de GetBestSize() para determinar las necesidades mínimas de la ventana para el layout.
La mayoría de los controles usarán esto para establecer su tamaño inicial, y su tamaño mínimo al valor pasado (si existe.)
SetLabel()
virtual void wxWindow::SetLabel(const wxString & label)
Establece la etiqueta de la ventana.
Parámetros
- label
- Etiqueta de la ventana.
SetLayoutDirection()
virtual void wxWindow::SetLayoutDirection(wxLayoutDirection dir)
Establece la dirección del diseño de esta ventana.
Esta función solo es compatible con las plataformas MSW y GTK, pero actualmente no con Mac.
SetMaxClientSize()
virtual void wxWindow::SetMaxClientSize(const wxSize & size)
Establece el tamaño máximo de cliente de la ventana, para indicar al mecanismo de diseño sizer que este es el tamaño máximo posible de su área de cliente.
Hay que tener en cuenta que este método es solo un atajo para:
SetMaxSize(ClientToWindowSize(size));
SetMaxSize()
virtual void wxWindow::SetMaxSize(const wxSize & size)
Establece el tamaño máximo de la ventana, para indicar al mecanismo de diseño sizer que este es el tamaño máximo posible.
SetMinClientSize()
virtual void wxWindow::SetMinClientSize(const wxSize & size)
Establece el tamaño mínimo de cliente de la ventana, para indicar al mecanismo de diseño del sizer que éste es el tamaño mínimo requerido del área de cliente de la ventana.
Puede que se necesite llamar a este método si se cambia el tamaño de la ventana después de la construcción y antes de añadirla a su sizer padre.
Hay que tener en cuenta que, al igual que con SetMinSize(), llamar a este método no impide que el programa haga explícitamente la ventana más pequeña que el tamaño especificado.
Este método es solo un atajo para:
SetMinSize(ClientToWindowSize(size));
SetMinSize()
virtual void wxWindow::SetMinSize(const wxSize & size)
Establece el tamaño mínimo de la ventana, para indicar al mecanismo de diseño del sizer que éste es el tamaño mínimo requerido.
Es posible que se tenga que llamar a este método si se cambia el tamaño de la ventana después de la construcción y antes de añadirla a su sizer padre.
Hay que tener en cuenta que llamar a este método no impide que el programa haga la ventana explícitamente más pequeña que el tamaño especificado llamando a SetSize(), solo asegura que no se hará más pequeña que este tamaño durante el diseño automático.
SetName()
virtual void wxWindow::SetName(const wxString & name)
Establece el nombre de la ventana.
Parámetros
- name
- Un nombre para la ventana.
SetNextHandler()
virtual void wxWindow::SetNextHandler(wxEvtHandler * handler)
wxWindows no puede usarse para formar cadenas de manejadores de eventos; por lo tanto, esta función hará un assert cuando sea llamada.
Hay que tener en cuenta que en su lugar se puede utilizar PushEventHandler() o SetEventHandler() para implementar una pila de manejadores de eventos para anular el propio mecanismo de manejo de eventos de wxWindow.
Reimplementado de wxEvtHandler.
SetOwnBackgroundColour()
void wxWindow::SetOwnBackgroundColour(const wxColour & colour)
Establece el color de fondo de la ventana pero evita que sea heredado por los hijos de esta ventana.
SetOwnFont()
void wxWindow::SetOwnFont(const wxFont & font)
Establece la fuente de la ventana pero evita que sea heredada por los hijos de esta ventana.
SetOwnForegroundColour()
void wxWindow::SetOwnForegroundColour(const wxColour & colour)
Establece el color de primer plano de la ventana pero evita que sea heredado por los hijos de esta ventana.
SetPalette()
void wxWindow::SetPalette(const wxPalette & pal)
Obsoleto
Usar wxDC::SetPalette en su lugar.
SetPosition()
void wxWindow::SetPosition(const wxPoint & pt)
Mueve la ventana a la posición especificada.
Es exactamente lo mismo que llamar a Move() con los argumentos por defecto.
SetPreviousHandler()
virtual void wxWindow::SetPreviousHandler(wxEvtHandler * handler)
wxWindows no puede usarse para formar cadenas de manejadores de eventos; por lo tanto, esta función hará un assert cuando sea llamada.
Hay que tener en cuenta que en su lugar puede utilizar PushEventHandler() o SetEventHandler() para implementar una pila de manejadores de eventos para anular el propio mecanismo de manejo de eventos de wxWindow.
Reimplementado de wxEvtHandler.
SetScrollbar()
virtual void wxWindow::SetScrollbar( int orientation, int position, int thumbSize, int range, bool refresh = true )
Establece las propiedades de una barra de desplazamiento integrada.
Parámetros
- orientation
- Determina la barra de desplazamiento cuyo tamaño de página se va a establecer. Puede ser wxHORIZONTAL o wxVERTICAL.
- position
- La posición de la barra de desplazamiento en unidades de desplazamiento.
- thumbSize
- El tamaño del pulgar, o porción visible de la barra de desplazamiento, en unidades de desplazamiento.
- range
- La posición máxima de la barra de desplazamiento. Se puede utilizar el valor -1 para pedir que la barra de desplazamiento se muestre pero en estado desactivado: esto se puede utilizar para evitar quitar la barra de desplazamiento incluso cuando no se necesita (actualmente esto solo está implementado para wxMSW).
- refresh
- true para redibujar la barra de desplazamiento, false en caso contrario.
Observaciones
Supongamos que desea mostrar 50 líneas de texto, utilizando la misma fuente. El tamaño de la ventana es tal que sólo se pueden ver 16 líneas a la vez. Se utilizaría:
SetScrollbar(wxVERTICAL, 0, 16, 50);
Hay que tener en cuenta que con la ventana a este tamaño, la posición del pulgar nunca puede ir más allá de 50 menos 16, o 34. Se puede determinar cuántas líneas son visibles actualmente dividiendo el tamaño de la vista actual por la altura del carácter en píxeles. Cuando se defina un comportamiento propio de la barra de desplazamiento, siempre se tendrá que recalcular los ajustes de la barra de desplazamiento cuando se cambie el tamaño de la ventana. Por lo tanto, se podrían poner los cálculos de la barra de desplazamiento y la llamada a SetScrollbar en una función llamada AdjustScrollbars, que puede ser llamada inicialmente y también desde su función manejadora de wxSizeEvent.
SetScrollPos()
virtual void wxWindow::SetScrollPos( int orientation, int pos, bool refresh = true )
Establece la posición de una de las barras de desplazamiento incorporadas.
Parámetros
- orientation
- Determina la barra de desplazamiento cuya posición se va a establecer. Puede ser wxHORIZONTAL o wxVERTICAL.
- pos
- Posición en unidades de desplazamiento.
- refresh
- true para redibujar la barra de desplazamiento, false en caso contrario.
Observaciones
Esta función no afecta directamente al contenido de la ventana: corresponde a la aplicación tomar nota de los atributos de la barra de desplazamiento y redibujar el contenido en consecuencia.
SetSize()
void wxWindow::SetSize(const wxRect & rect)
SetSize()
void wxWindow::SetSize(const wxSize & size)
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
SetSize()
void wxWindow::SetSize( int width, int height )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
SetSize()
void wxWindow::SetSize( int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO )
Establece el tamaño de la ventana en píxeles.
Parámetros
- x
- Posición x requerida en píxeles, o wxDefaultCoord para indicar que se debe utilizar el valor existente.
- y
- Posición y requerida en píxeles, o wxDefaultCoord para indicar que se debe utilizar el valor existente.
- width
- Anchura requerida en píxeles, o wxDefaultCoord para indicar que se debe utilizar el valor existente.
- height
- Posición de altura requerida en píxeles, o wxDefaultCoord para indicar que debe utilizarse el valor existente.
- sizeFlags
Indica la interpretación de otros parámetros. Es una lista de bits de los siguientes:
- wxSIZE_AUTO_WIDTH: se toma un valor de anchura wxDefaultCoord para indicar una anchura por defecto suministrada por wxWidgets.
- wxSIZE_AUTO_HEIGHT: se toma un valor de altura wxDefaultCoord para indicar una altura por defecto suministrada por wxWidgets.
- wxSIZE_AUTO: se toma un valor de tamaño wxDefaultCoord para indicar un tamaño por defecto suministrado por wxWidgets.
- wxSIZE_USE_EXISTING: se utilizarán las dimensiones existentes si se suministran valores wxDefaultCoord.
- wxSIZE_ALLOW_MINUS_ONE: permite que las dimensiones negativas (es decir, el valor de wxDefaultCoord) se interpreten como dimensiones reales, no como valores por defecto.
- wxSIZE_FORCE: normalmente, si la posición y el tamaño de la ventana ya coinciden con los parámetros de esta función, no se hace nada. pero con esta bandera se puede forzar el redimensionamiento de la ventana incluso en este caso (soportado en wx 2.6.2 y posteriores y solo implementado para MSW e ignorado en otros lugares actualmente).
Observaciones
Esta sobrecarga establece la posición, y opcionalmente el tamaño, de la ventana. Los parámetros pueden ser wxDefaultCoord para indicar que wxWidgets debe proporcionar un valor por defecto, o que se debe utilizar el valor actual de la dimensión.
SetSizeHints()
virtual void wxWindow::SetSizeHints( const wxSize & minSize, const wxSize & maxSize = wxDefaultSize, const wxSize & incSize = wxDefaultSize )
Se desaconseja el uso de esta función para ventanas que no sean de nivel superior (como wxDialog o wxFrame).
Utilizar SetMinSize() y SetMaxSize() en su lugar.
SetSizeHints()
virtual void wxWindow::SetSizeHints( int minW, int minH, int maxW = -1, int maxH = -1, int incW = -1, int incH = -1 )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
Reimplementada en wxTopLevelWindow.
SetSizer()
void wxWindow::SetSizer( wxSizer * sizer, bool deleteOld = true )
Establece la ventana para que tenga el tamaño de diseño dado.
La ventana será entonces propietaria del objeto, y se encargará de su eliminación. Si la ventana ya posee un objeto layout constraints, éste será eliminado si el parámetro deleteOld es true.
Hay que tener en cuenta que esta función también llamará implícitamente a SetAutoLayout() con el parámetro true si el sizer no es NULL y false en caso contrario, de modo que el sizer se utilizará efectivamente para maquetar los hijos de la ventana cada vez que se redimensione.
Parámetros
- sizer
- El sizer a establecer. Pasar NULL para desasociar y eliminar condicionalmente el sizer de la ventana. Véase más abajo.
- deleteOld
- Si es true (por defecto), se borrará cualquier sizer preexistente. Pasar false si se desea borrar el sizer antiguo después, pero hay que recordar hacerlo en este caso para evitar fugas de memoria.
Observaciones
SetSizer activa y desactiva Layout automáticamente.
SetSizerAndFit()
void wxWindow::SetSizerAndFit( wxSizer * sizer, bool deleteOld = true )
Asocia el sizer con la ventana y establece el tamaño de la ventana y el tamaño mínimo en consecuencia.
Este método llama a SetSizer() y luego a wxSizer::SetSizeHints() que establece el tamaño inicial de la ventana al tamaño necesario para acomodar todos los elementos del sizer y establece el tamaño mínimo al mismo tamaño, esto previene que el usuario redimensione esta ventana para que sea menor que este tamaño mínimo (si es una ventana de nivel superior que puede ser redimensionada directamente por el usuario).
SetThemeEnabled()
virtual void wxWindow::SetThemeEnabled(bool enable)
Esta función indica a una ventana si debe utilizar el código de "tema" del sistema para dibujar el fondo de las ventanas en lugar de su propio código de dibujo de fondo.
Esto no siempre tiene efecto, ya que la plataforma subyacente obviamente necesita soportar la noción de temas en ventanas definidas por el usuario. Una de estas plataformas es GTK+, donde las ventanas pueden tener fondos (muy coloridos) definidos por el tema seleccionado por el usuario.
Los diálogos, las páginas de bloc de notas y la barra de estado tienen este indicador por defecto en true para simular mejor el aspecto por defecto.
SetToolTip()
void wxWindow::SetToolTip(const wxString & tipString)
Añade un tooltip a la ventana.
El puntero wxToolTip puede ser NULL en la sobrecarga que toma el puntero, lo que significa deshacer cualquier tooltip existente; sin embargo UnsetToolTip() proporciona una alternativa más legible a esta operación.
Hay que tener en cuenta que estos métodos están siempre disponibles, incluso si wxWidgets fue compilado con wxUSE_TOOLTIPS a 0, pero no hacen nada en este caso.
SetToolTip()
void wxWindow::SetToolTip(wxToolTip * tip)
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
SetTransparent()
virtual bool wxWindow::SetTransparent(wxByte alpha)
Establece la transparencia de la ventana.
Si el sistema soporta ventanas transparentes, devuelve true, en caso contrario devuelve false y la ventana permanece totalmente opaca. Véase también CanSetTransparent().
El parámetro alpha está en el rango 0..255 donde 0 corresponde a una ventana totalmente transparente y 255 a una totalmente opaca. Se pueden utilizar las constantes wxIMAGE_ALPHA_TRANSPARENT y wxIMAGE_ALPHA_OPAQUE.
SetValidator()
virtual void wxWindow::SetValidator(const wxValidator & validator)
Elimina el validador actual (si existe) y establece el validador de la ventana, habiendo llamado a wxValidator::Clone para crear un nuevo validador de este tipo.
SetVirtualSize()
void wxWindow::SetVirtualSize(const wxSize & size)
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la siguiente función en los argumentos que acepta.
SetVirtualSize()
void wxWindow::SetVirtualSize( int width, int height )
Establece el tamaño virtual de la ventana en píxeles.
SetWindowStyle()
void wxWindow::SetWindowStyle(long style)
Ver SetWindowStyleFlag() para más información.
SetWindowStyleFlag()
virtual void wxWindow::SetWindowStyleFlag(long style)
Establece el estilo de la ventana.
Hay que tener en cuenta que algunos estilos no pueden cambiarse después de la creación de la ventana y que puede ser necesario llamar a Refresh() después de cambiar los otros para que el cambio se produzca inmediatamente.
Ver los estilos de ventana para más información sobre las banderas.
SetWindowVariant()
void wxWindow::SetWindowVariant(wxWindowVariant variant)
Elige una variante diferente de la visualización de la ventana a utilizar.
Las variantes de ventana actualmente solo difieren en tamaño, como puede verse en la documentación de wxWindowVariant. En todas las plataformas excepto macOS, esta función no hace nada más que cambiar la fuente utilizada por la ventana. Sin embargo, en macOS se implementa de forma nativa y selecciona la variante apropiada del widget nativo, que tiene mejor apariencia que una versión reducida o aumentada de la variante normal, por lo que debería preferirse a ajustar directamente el tamaño de la fuente.
Por defecto, los controles utilizan naturalmente la variante normal.
ShouldInheritColours()
virtual bool wxWindow::ShouldInheritColours() const
Devolver true para permitir que los colores de esta ventana sean cambiados por InheritAttributes().
Devolver false prohíbe heredarlos de la ventana padre.
La versión de la clase base devuelve false, pero este método se sobrescribe en wxControl donde devuelve true.
Reimplementado en wxRichTextCtrl.
Show()
virtual bool wxWindow::Show(bool show = true )
Muestra u oculta la ventana.
Es posible que se tenga que llamar a Raise() para una ventana de nivel superior si se desea llevarla a la parte superior, aunque esto no es necesario si se llama a Show() inmediatamente después de la creación del marco.
Obsérvese que el estado por defecto de las ventanas de nivel superior recién creadas es oculto (para permitirle crear su contenido sin parpadeo) a diferencia de todas las demás ventanas, no derivadas de wxTopLevelWindow, que se crean por defecto en estado mostrado.
Parámetros
- show
- Si es true muestra la ventana. Si no, la oculta.
Valor de retorno
true si la ventana se ha mostrado u ocultado o false si no se ha hecho nada porque ya estaba en el estado solicitado.
ShowWithEffect()
virtual bool wxWindow::ShowWithEffect( wxShowEffect effect, unsigned int timeout = 0 )
Esta función muestra una ventana, como Show(), pero utilizando un efecto visual especial si es posible.
Parámetros
- effect
- El efecto a utilizar.
- timeout
- El parámetro timeout especifica el tiempo de la animación, en milisegundos. Si se utiliza el valor por defecto 0, se utiliza el tiempo de animación por defecto para la plataforma actual.
Nota: Actualmente esta función solo está implementada en wxMSW y wxOSX y hace lo mismo que Show() en los otros ports.
Thaw()
void wxWindow::Thaw()
ToDIP()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la la siguiente función en los argumentos que acepta.
ToDIP()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la la siguiente función en los argumentos que acepta.
ToDIP()
Convierte los valores de píxel del toolkit actual en valores de píxel independientes de DPI.
Un píxel independiente de DPI es solo un píxel a la resolución estándar de 96 DPI. Para mantener el mismo tamaño físico a una resolución mayor, el valor del píxel físico debe ser escalado por GetDPIScaleFactor() pero este escalado puede estar ya hecho por el toolkit subyacente (GTK+, Cocoa, ...) automáticamente. Este método realiza la conversión solo si no está ya hecha por el conjunto de herramientas de nivel inferior, Por ejemplo, puede que se desee utilizar esto para almacenar tamaños de ventana y posiciones para que puedan ser reutilizados independientemente de la pantalla DPI:
wxPoint pt(ToDIP(GetPosition())); wxSize size(ToDIP(GetSize()));
También hay que tener en cuenta que si cualquiera de los componentes de sz tiene el valor especial de -1, se devuelve sin cambios independientemente del DPI actual, para preservar el valor especial de -1 en la API de wxWidgets (a menudo se utiliza para significar "no especificado").
ToDIP()
Funciones de conversión de píxeles no específicos de ventana a píxeles independientes de DPI.
La resolución de la pantalla depende de la ventana en general, ya que diferentes ventanas pueden aparecer en diferentes monitores utilizando diferentes resoluciones, sin embargo a veces no hay ninguna ventana disponible para convertir los píxeles independientes de la resolución a los valores físicos y en este caso estas sobrecargas estáticas se pueden utilizar con el valor NULL para el argumento w.
Se desaconseja el uso de estos métodos ya que pasar NULL impedirá que su aplicación soporte correctamente monitores con diferentes resoluciones incluso en las futuras versiones de wxWidgets que añadirán soporte para ellos, y pasar una ventana no NULL es solo una forma menos conveniente de llamar al método no estático ToDIP().
ToDIP()
int wxWindow::ToDIP(int d) const
Convierte los valores de píxel del conjunto de herramientas actual en valores de píxel independientes de DPI.
Es lo mismo que la sobrecarga ToDIP(const wxSize& sz), pero asume que la resolución es la misma en dirección horizontal y vertical.
Si d tiene el valor especial -1, se devuelve sin cambios independientemente del DPI actual.
ToDIP()
static int wxWindow::ToDIP( int d, const wxWindow * w )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
ToggleWindowStyle()
bool wxWindow::ToggleWindowStyle (int flag)
Activa la bandera dada si actualmente está desactivada y viceversa.
Esta función no se puede utilizar si el valor de la bandera es 0 (que es a menudo el caso de las banderas por defecto).
Además, hay que tener en cuenta que no todos los estilos se pueden cambiar después de la creación del control.
Valor de retorno
Devuelve true si el estilo fue activado por esta función, false si fue desactivado.
ToPhys()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la la siguiente función en los argumentos que acepta.
ToPhys()
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la la siguiente función en los argumentos que acepta.
ToPhys()
Convierte de píxeles lógicos a píxeles físicos.
Esta función realiza la transformación en sentido inverso en comparación con FromPhys().
ToPhys()
Convierte de píxeles lógicos a píxeles físicos para cualquier ventana.
Esta función puede utilizarse sin ningún puntero de ventana, es decir, w puede ser NULL. En este caso, utiliza el factor de escala de contenido de la pantalla principal si está soportado o simplemente no hace nada (es decir, utiliza el factor de escala de 1) en caso contrario.
Si es posible, siempre es preferible utilizar las sobrecargas de los miembros, ya que siempre utilizan el factor de escala de contenido realmente apropiado.
ToPhys()
int wxWindow::ToPhys(int d) const
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
ToPhys()
static int wxWindow::ToPhys( int d, const wxWindow * w )
Esta es una función miembro sobrecargada, proporcionada por conveniencia. Solo difiere de la función anterior en los argumentos que acepta.
TransferDataFromWindow()
virtual bool wxWindow::TransferDataFromWindow()
Transfiere los valores de los controles hijo a las áreas de datos especificadas por sus validadores.
Devuelve false si falla la transferencia.
Hay que tener en cuenta que también llama a TransferDataFromWindow() para todos los controles secundarios de forma recursiva.
TransferDataToWindow()
virtual bool wxWindow::TransferDataToWindow()
Transfiere valores a los controles hijos desde las áreas de datos especificadas por sus validadores.
Hay que tener en cuenta que también llama a TransferDataToWindow() para todos los controles secundarios de forma recursiva.
UnregisterHotKey()
virtual bool wxWindow::UnregisterHotKey(int hotkeyId)
Desregistra una tecla de acceso rápido del sistema.
Parámetros
- hotkeyId
- Identificador numérico de la tecla de acceso rápido. Debe ser el mismo id que se pasó a RegisterHotKey().
Valor de retorno
true si el hotkey fue desregistrado con éxito, false si el id no era válido.
Observaciones
Esta función solo está implementada actualmente en MSW.
UnreserveControlId()
static void wxWindow::UnreserveControlId( wxWindowID id, int count = 1 )
Desreserva un ID o rango de IDs que fue reservado por NewControlId().
Ver IDs de ventana para más información.
Parámetros
- id
- El ID inicial del rango de IDs a desreservar.
- count
- El número de IDs secuenciales que se van a desreservar.
UnsetToolTip()
void wxWindow::UnsetToolTip()
Anula la información sobre un tooltip existente.
Update()
virtual void wxWindow::Update()
La llamada a este método repinta inmediatamente el área invalidada de la ventana y todos sus hijos recursivamente (esto normalmente solo ocurre cuando el flujo de control vuelve al bucle de eventos).
Observese que esta función no invalida ningún área de la ventana, por lo que no ocurre nada si nada ha sido invalidado (es decir, marcado como que requiere un redibujado). Usar Refresh() primero si se quiere redibujar la ventana inmediatamente sin condiciones.
UpdateWindowUI()
virtual void wxWindow::UpdateWindowUI(long flags = wxUPDATE_UI_NONE)
Esta función envía uno o más wxUpdateUIEvent a la ventana.
La implementación particular depende de la ventana; por ejemplo una wxToolBar enviará un evento update UI por cada botón de la barra de herramientas, y un wxFrame enviará un evento update UI por cada elemento del menú de la barra de menús.
Se puede llamar a esta función desde la aplicación para asegurarte de que tu UI está actualizada en este punto (en lo que respecta a los manejadores wxUpdateUIEvent). Esto puede ser necesario si se ha llamado a wxUpdateUIEvent::SetMode() o wxUpdateUIEvent::SetUpdateInterval() para limitar la sobrecarga en la que incurre wxWidgets enviando eventos de actualización de UI en tiempo de inactividad. flags debe ser una lista de bits de uno o más de la enumeración /wxUpdateUI.
Si se está llamando a esta función desde una función OnInternalIdle o OnIdle, hay que asegurarse de pasar la bandera wxUPDATE_UI_FROMIDLE, ya que esto le dice a la ventana que solo actualice los elementos UI que necesitan ser actualizados en tiempo de inactividad. Algunas ventanas actualizan sus elementos solo cuando es necesario, por ejemplo cuando un menú está a punto de mostrarse. El siguiente es un ejemplo de como llamar a UpdateWindowUI desde una función idle.
void MyWindow::OnInternalIdle() { if (wxUpdateUIEvent::CanUpdate(this)) UpdateWindowUI(wxUPDATE_UI_FROMIDLE); }
UseBackgroundColour()
bool wxWindow::UseBackgroundColour() const
Devuelve true si se ha establecido un color de fondo para esta ventana.
UseBgCol()
bool wxWindow::UseBgCol() const
Devuelve true si se ha establecido un color de fondo para esta ventana.
UseForegroundColour()
bool wxWindow::UseForegroundColour() const
Devuelve true si se ha establecido un color de primer plano para esta ventana.
Validate()
virtual bool wxWindow::Validate()
Valida los valores actuales de los controles hijos utilizando sus validadores.
Hay que tener en cuenta que también se llama a Validate() para todos los controles secundarios de forma recursiva.
Valor de retorno
Devuelve false si alguna de las validaciones falló.
WarpPointer()
virtual void wxWindow::WarpPointer( int x, int y )
Mueve el puntero a la posición dada en la ventana.
Nota: Las Directrices de Interfaz Humana de Apple prohíben mover el cursor del ratón mediante programación, por lo que debería evitar el uso de esta función en aplicaciones Mac (y probablemente también en otras plataformas sin una buena razón).
Parámetros
- x
- La nueva posición x del cursor.
- y
- La nueva posición y del cursor.
WindowToClientSize()
virtual wxSize wxWindow::WindowToClientSize(const wxSize & size) const
Convierte el tamaño de la ventana al correspondiente tamaño del área del cliente En otras palabras, el valor devuelto es el que devolvería GetClientSize() si esta ventana tuviera el tamaño de ventana dado.
Los componentes con el valor wxDefaultCoord no se modifican.
Hay que tener en cuenta que la conversión no siempre es exacta, ya que asume que el área no cliente no cambia y por lo tanto no tiene en cuenta cosas como la (des)envoltura de la barra de menú o la (des)aparición de las barras de desplazamiento.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxEvtHandler y wxObject.
Classes
ChildrenRepositioningGuard
Ayuda para garantizar que EndRepositioningChildren() se llama correctamente.
Esta clase envuelve las llamadas a BeginRepositioningChildren() y EndRepositioningChildren() realizando la primera en su constructor y la segunda en su destructor si, y solo si, la primera llamada devuelve true. Esta es la forma más sencilla de llamar a estos métodos y, si esta clase se crea como una variable local, también garantiza que EndRepositioningChildren() se llame correctamente (o no) al salir del ámbito, por lo que su uso en lugar de llamar a estos métodos manualmente es muy recomendable.