Controles de Dialogo
La pestania Dialogos proporciona componentes no visuales que invocan cuadros de dialogo estandar del sistema operativo. Coloqueelos en un formulario y llame a su metodo Execute() para mostrar el dialogo nativo.
TOpenDialog CT_OPENDIALOG = 40
Dialogo estandar de apertura de archivos. Permite al usuario buscar y seleccionar uno o mas archivos para abrir.
| Propiedad | Tipo | Valor predet. | Descripcion |
cFileName | String | "" | Ruta del archivo seleccionado (despues de Execute) |
cFilter | String | "Todos los archivos (*.*)|*.*" | Filtro de tipo de archivo (pares separados por |) |
nFilterIndex | Numerico | 1 | Indice del filtro predeterminado |
cTitle | String | "Abrir" | Texto de la barra de titulo del dialogo |
cInitialDir | String | "" | Directorio de inicio |
cDefaultExt | String | "" | Extension de archivo predeterminada |
lMultiSelect | Logico | .F. | Permitir seleccionar multiples archivos |
aFileNames | Array | {} | Archivos seleccionados (cuando multi-seleccion) |
| Evento | Categoria | Descripcion |
OnClose | Accion | Dialogo cerrado (despues de que el usuario selecciona o cancela) |
| Metodo | Devuelve | Descripcion |
Execute() | Logico | Muestra el dialogo. Devuelve .T. si el usuario selecciono un archivo, .F. si cancelo. |
| Plataforma | Dialogo Nativo |
| Windows | GetOpenFileName() / IFileOpenDialog |
| macOS | NSOpenPanel |
| Linux | GtkFileChooserDialog (GTK_FILE_CHOOSER_ACTION_OPEN) |
// Dialogo de apertura con filtros
DEFINE OPENDIALOG oDlg
oDlg:cTitle := "Seleccionar Imagen"
oDlg:cFilter := "Imagenes (*.png;*.jpg)|*.png;*.jpg|Todos los archivos (*.*)|*.*"
oDlg:cInitialDir := "C:\Imagenes"
IF oDlg:Execute()
MsgInfo( "Seleccionado: " + oDlg:cFileName )
ENDIF
TSaveDialog CT_SAVEDIALOG = 41
Dialogo estandar de guardado de archivos. Solicita al usuario elegir un nombre de archivo y ubicacion para guardar.
| Propiedad | Tipo | Valor predet. | Descripcion |
cFileName | String | "" | Ruta del archivo seleccionado/ingresado |
cFilter | String | "Todos los archivos (*.*)|*.*" | Filtro de tipo de archivo |
nFilterIndex | Numerico | 1 | Indice del filtro predeterminado |
cTitle | String | "Guardar como" | Titulo del dialogo |
cInitialDir | String | "" | Directorio de inicio |
cDefaultExt | String | "" | Extension predeterminada (se agrega si no se escribe) |
lOverwritePrompt | Logico | .T. | Advertir al sobrescribir archivo existente |
| Evento | Categoria | Descripcion |
OnClose | Accion | Dialogo cerrado |
| Metodo | Devuelve | Descripcion |
Execute() | Logico | Muestra el dialogo. Devuelve .T. si el usuario confirmo, .F. si cancelo. |
| Plataforma | Dialogo Nativo |
| Windows | GetSaveFileName() / IFileSaveDialog |
| macOS | NSSavePanel |
| Linux | GtkFileChooserDialog (GTK_FILE_CHOOSER_ACTION_SAVE) |
// Guardar documento con extension predeterminada
DEFINE SAVEDIALOG oDlg
oDlg:cTitle := "Guardar Informe"
oDlg:cFilter := "PDF (*.pdf)|*.pdf|HTML (*.html)|*.html"
oDlg:cDefaultExt := "pdf"
IF oDlg:Execute()
SaveReport( oDlg:cFileName )
ENDIF
TFontDialog CT_FONTDIALOG = 42
Dialogo estandar de seleccion de fuente. Permite al usuario elegir tipo de fuente, estilo, tamano y color.
| Propiedad | Tipo | Valor predet. | Descripcion |
cFontName | String | "" | Nombre de la fuente seleccionada |
nFontSize | Numerico | 10 | Tamano de fuente seleccionado (puntos) |
lBold | Logico | .F. | Estilo negrita seleccionado |
lItalic | Logico | .F. | Estilo cursiva seleccionado |
lUnderline | Logico | .F. | Estilo subrayado seleccionado |
nColor | Color | CLR_BLACK | Color de fuente seleccionado |
| Evento | Categoria | Descripcion |
OnClose | Accion | Dialogo cerrado |
| Metodo | Devuelve | Descripcion |
Execute() | Logico | Muestra el dialogo de fuente. Devuelve .T. si el usuario selecciono una fuente. |
| Plataforma | Dialogo Nativo |
| Windows | ChooseFont() (estructura CHOOSEFONT) |
| macOS | NSFontPanel |
| Linux | GtkFontChooserDialog |
TColorDialog CT_COLORDIALOG = 43
Dialogo estandar de seleccion de color. Permite al usuario elegir un color de una paleta o definir colores personalizados.
| Propiedad | Tipo | Valor predet. | Descripcion |
nColor | Color | CLR_BLACK | Valor de color seleccionado |
aCustomColors | Array | {} | Matriz de valores de color personalizados |
| Evento | Categoria | Descripcion |
OnClose | Accion | Dialogo cerrado |
| Metodo | Devuelve | Descripcion |
Execute() | Logico | Muestra el dialogo de color. Devuelve .T. si el usuario selecciono un color. |
| Plataforma | Dialogo Nativo |
| Windows | ChooseColor() (estructura CHOOSECOLOR) |
| macOS | NSColorPanel |
| Linux | GtkColorChooserDialog |
// Elegir un color de fondo
DEFINE COLORDIALOG oDlg
IF oDlg:Execute()
oForm:nClrPane := oDlg:nColor
oForm:Refresh()
ENDIF
TFindDialog CT_FINDDIALOG = 44
Dialogo de busqueda sin modo (modeless). Proporciona una interfaz de busqueda de texto con opciones de coincidencia de mayusculas y direccion.
| Propiedad | Tipo | Valor predet. | Descripcion |
cFindText | String | "" | Texto a buscar |
lMatchCase | Logico | .F. | Busqueda sensible a mayusculas |
lWholeWord | Logico | .F. | Coincidir solo palabras completas |
lSearchDown | Logico | .T. | Direccion de busqueda (abajo = adelante) |
| Evento | Categoria | Descripcion |
OnFind | Accion | Usuario pulso Buscar Siguiente |
OnClose | Accion | Dialogo cerrado |
| Metodo | Devuelve | Descripcion |
Execute() | Logico | Muestra el dialogo de busqueda sin modo. |
| Plataforma | Dialogo Nativo |
| Windows | FindText() (estructura FINDREPLACE) |
| macOS | NSTextFinder (barra de busqueda) |
| Linux | GtkSearchBar + dialogo personalizado |
TReplaceDialog CT_REPLACEDIALOG = 45
Dialogo de busqueda y reemplazo sin modo. Extiende TFindDialog con funcionalidad de reemplazo.
| Propiedad | Tipo | Valor predet. | Descripcion |
cFindText | String | "" | Texto a buscar |
cReplaceText | String | "" | Texto de reemplazo |
lMatchCase | Logico | .F. | Busqueda sensible a mayusculas |
lWholeWord | Logico | .F. | Coincidir solo palabras completas |
| Evento | Categoria | Descripcion |
OnFind | Accion | Usuario pulso Buscar Siguiente |
OnReplace | Accion | Usuario pulso Reemplazar |
OnReplaceAll | Accion | Usuario pulso Reemplazar Todo |
OnClose | Accion | Dialogo cerrado |
| Metodo | Devuelve | Descripcion |
Execute() | Logico | Muestra el dialogo de reemplazo sin modo. |
| Plataforma | Dialogo Nativo |
| Windows | ReplaceText() (estructura FINDREPLACE) |
| macOS | NSTextFinder (barra de busqueda y reemplazo) |
| Linux | GtkSearchBar + dialogo de reemplazo personalizado |
// Buscar y Reemplazar en un RichEdit
DEFINE REPLACEDIALOG oDlg
oDlg:OnFind := { || FindInEditor( oRichEdit, oDlg:cFindText ) }
oDlg:OnReplace := { || ReplaceInEditor( oRichEdit, oDlg:cFindText, oDlg:cReplaceText ) }
oDlg:OnReplaceAll := { || ReplaceAllInEditor( oRichEdit, oDlg:cFindText, oDlg:cReplaceText ) }
oDlg:Execute()
6 Controles de Dialogo
Todos los controles de dialogo son componentes no visuales. Coloqueelos en un formulario, configure sus propiedades y llame a Execute() para mostrar el dialogo nativo del sistema operativo. Cada dialogo devuelve .T. cuando el usuario confirma y .F. cuando cancela.