7.1. wxDialog

Un diálogo es una ventana de alto nivel, que se usa para presentar información al usuario, opciones o selecciones. Al contrario que las ventanas normales, este tipo puede no tener título, botones para minimizar o maximizar, etc.

Existen dos tipos de diálogos, modales y no modales. Los diálogos modales son aquellos que interrumpen el flujo natural del programa hasta que son respondidos, sin dar la posibilidad de realizar otra acción. Los no modales, son los que no tienen este comportamiento.

Para crear un diálogo, debemos pasar al constructor los siguientes parámetros: ventana padre, identificador, título, posición, tamaño y estilo.

wxDialog(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE)

Este componente admite los siguienes estilos: wxDEFAULT_DIALOG_STYLE, que contiene tres estilos: wxCAPTION, que muestra una etiqueta, wxCLOSE_BOX, que añade el icono de cerrar, y wxSYSTEM_MENU, que añade un menú del sistema. wxMINIMIZE_BOX, que añade el icono de minimizar, wxMAXIMIZE_BOX, que añade el icono de maximizar, wxSTAY_ON_TOP, que hace que el diálogo se situe como la ventana enfocada más alta, wxRESIZE_BORDER, añade un borde alrededor de la ventana, wxDIALOG_NO_PARENT, que crea un diálogo "huerfano".

Este componente cuenta con cinco eventos, EVT_ACTIVATE, que se genera cuando se activa o desactiva el diálogo, EVT_CLOSE, que se genera cuando el usuario o el sistema intenta cerrar el diálogo, EVT_ICONIZE, que se genera cuando el diálogo es minimizado, EVT_MAXIMIZE, que se genera cuando el diálogo es maximizado, y EVT_INIT_DIALOG, que se genera cuando el diálogo se inicializa a si mismo.

Respecto a los métodos con los que cuenta este componente: GetTitle() y SetTitle(), para obtener y modificar el título del diálogo, Iconize() que minimiza y restaura el diálogo, Maximize(), que maximiza el diálogo, ShowModal() y EndModal(), que inicia y finaliza el diálogo como modal.