dirdlg.h

Clase wxDirDialog

Esta clase representa el cuadro de diálogo del selector de directorios.

Jerarquía:

Jerarquía de la clase wxDirDialog

Estilos

Esta clase admite los siguientes estilos:

wxDD_DEFAULT_STYLE
Equivale a una combinación de wxDEFAULT_DIALOG_STYLE y wxRESIZE_BORDER.
wxDD_DIR_MUST_EXIST
El diálogo solo permitirá al usuario elegir una carpeta existente. Cuando no se da este estilo, se añade un botón "Crear nuevo directorio" al diálogo (en Windows) o se proporciona alguna otra forma de que el usuario escriba el nombre de una nueva carpeta.
wxDD_CHANGE_DIR
Cambia el directorio de trabajo actual al directorio elegido por el usuario. Esta bandera no se puede utilizar con el estilo wxDD_MULTIPLE.
wxDD_MULTIPLE
Permite al usuario seleccionar múltiples directorios. Esta bandera solo está disponible desde wxWidgets 3.1.4
wxDD_SHOW_HIDDEN
Mostrar carpetas ocultas y de sistema. Esta bandera solo está disponible desde wxWidgets 3.1.4

Hay que tener en cuenta que wxRESIZE_BORDER tiene un efecto secundario especial en Windows, donde están disponibles dos diálogos de selección de directorio diferentes y este estilo también selecciona implícitamente la nueva versión, ya que la antigua siempre tiene un tamaño fijo. Como la nueva versión es casi siempre preferible, se recomienda utilizar siempre el estilo wxRESIZE_BORDER. Este es el caso si el diálogo se crea con el valor de estilo por defecto, pero si necesita utilizar algún estilo adicional debe especificar de todas formas wxDD_DEFAULT_STYLE a menos que se necesite explícitamente utilizar la versión antigua del diálogo en Windows. Por ejemplo

wxDirDialog dlg(NULL, "Choose input directory", "",
                wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST);

en lugar de utilizar únicamente el estilo wxDD_DIR_MUST_EXIST.

Observaciones

MacOS 10.11+ no muestra una barra de título en el diálogo. Utilizar SetMessage() para cambiar la cadena mostrada al usuario en la parte superior del diálogo después de su creación. El método SetTitle() se proporciona por compatibilidad con las versiones de MacOS anteriores a 10.11 que aún soportan la visualización de la barra de título.

Funciones miembro

wxDirDialog()

wxDirDialog::wxDirDialog( wxWindow * parent, const wxString & message = wxDirSelectorPromptStr, const wxString & defaultPath = wxEmptyString, long style = wxDD_DEFAULT_STYLE, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, const wxString & name = wxDirDialogNameStr )

Constructor.

Utilizar ShowModal() para mostrar el diálogo.

Parámetros
parent
Ventana padre.
message
Mensaje a mostrar en el diálogo.
defaultPath
La ruta por defecto, o la cadena vacía.
style
El estilo del diálogo.
pos
Posición del diálogo. Ignorado en Windows.
size
Tamaño del diálogo. Ignorado en Windows.
name
Nombre del diálogo, no utilizado.
~wxDirDialog()

virtual wxDirDialog::~wxDirDialog()

Destructor.

GetMessage()

virtual wxString wxDirDialog::GetMessage() const

Devuelve el mensaje que se mostrará en el diálogo.

GetPath()

virtual wxString wxDirDialog::GetPath() const

Devuelve la ruta por defecto o la seleccionada por el usuario.

Nota: Esta función no puede utilizarse con diálogos que tengan el estilo wxDD_MULTIPLE, utilizar GetPaths() en su lugar.

GetPaths()

virtual void wxDirDialog::GetPaths(wxArrayString & paths) const

Rellena el array paths con las rutas completas de los directorios elegidos.

Nota: Esta función solo debe usarse con los diálogos que tengan el estilo wxDD_MULTIPLE, usar GetPath() para los demás.

SetMessage()

virtual void wxDirDialog::SetMessage(const wxString & message)

Establece el mensaje que se mostrará en el diálogo.

SetPath()

virtual void wxDirDialog::SetPath(const wxString & path)

Establece la ruta por defecto.

ShowModal()

int wxDirDialog::ShowModal()

Muestra el diálogo, devolviendo wxID_OK si el usuario ha pulsado OK, y wxID_CANCEL en caso contrario.

Reimplementado a partir de wxDialog.

Métodos y datos heredados

Esta clase hereda los métodos y datos miembro públicos y protegidos de wxObject, wxEvtHandler, wxWindow, wxDialog, wxNonOwnedWindow y wxTopLevelWindow.