Controles de Diálogo
A aba Diálogos fornece componentes não visuais que invocam caixas de diálogo padrão do sistema operacional. Coloque-os em um formulário e chame o método Execute() para exibir a diálogo nativa.
TOpenDialog CT_OPENDIALOG = 40
Diálogo padrão de abertura de arquivo. Permite ao usuário navegar e selecionar um ou mais arquivos para abrir.
| Propriedade | Tipo | Padrão | Descrição |
cFileName | String | "" | Caminho do arquivo selecionado (após Execute) |
cFilter | String | "All files (*.*)|*.*" | Filtro de tipo de arquivo (pares separados por pipe) |
nFilterIndex | Numeric | 1 | Índice do filtro padrão |
cTitle | String | "Open" | Texto da barra de título da diálogo |
cInitialDir | String | "" | Diretório inicial |
cDefaultExt | String | "" | Extensão de arquivo padrão |
lMultiSelect | Logical | .F. | Permitir seleção de múltiplos arquivos |
aFileNames | Array | {} | Arquivos selecionados (quando multisseleção) |
| Evento | Categoria | Descrição |
OnClose | Ação | Diálogo fechada (após o usuário selecionar ou cancelar) |
| Método | Retorno | Descrição |
Execute() | Logical | Exibe a diálogo. Retorna .T. se o usuário selecionou um arquivo, .F. se cancelou. |
| Plataforma | Diálogo Nativa |
| Windows | GetOpenFileName() / IFileOpenDialog |
| macOS | NSOpenPanel |
| Linux | GtkFileChooserDialog (GTK_FILE_CHOOSER_ACTION_OPEN) |
// Abrir diálogo de arquivo com filtros
DEFINE OPENDIALOG oDlg
oDlg:cTitle := "Selecionar Imagem"
oDlg:cFilter := "Imagens (*.png;*.jpg)|*.png;*.jpg|Todos arquivos (*.*)|*.*"
oDlg:cInitialDir := "C:\Pictures"
IF oDlg:Execute()
MsgInfo( "Selecionado: " + oDlg:cFileName )
ENDIF
TSaveDialog CT_SAVEDIALOG = 41
Diálogo padrão de salvamento de arquivo. Solicita ao usuário que escolha um nome de arquivo e local para salvar.
| Propriedade | Tipo | Padrão | Descrição |
cFileName | String | "" | Caminho do arquivo selecionado/inserido |
cFilter | String | "All files (*.*)|*.*" | Filtro de tipo de arquivo |
nFilterIndex | Numeric | 1 | Índice do filtro padrão |
cTitle | String | "Save As" | Título da diálogo |
cInitialDir | String | "" | Diretório inicial |
cDefaultExt | String | "" | Extensão padrão (adicionada se não digitada) |
lOverwritePrompt | Logical | .T. | Avisar ao sobrescrever arquivo existente |
| Evento | Categoria | Descrição |
OnClose | Ação | Diálogo fechada |
| Método | Retorno | Descrição |
Execute() | Logical | Exibe a diálogo. Retorna .T. se o usuário confirmou, .F. se cancelou. |
| Plataforma | Diálogo Nativa |
| Windows | GetSaveFileName() / IFileSaveDialog |
| macOS | NSSavePanel |
| Linux | GtkFileChooserDialog (GTK_FILE_CHOOSER_ACTION_SAVE) |
// Salvar documento com extensão padrão
DEFINE SAVEDIALOG oDlg
oDlg:cTitle := "Salvar Relatório"
oDlg:cFilter := "PDF (*.pdf)|*.pdf|HTML (*.html)|*.html"
oDlg:cDefaultExt := "pdf"
IF oDlg:Execute()
SaveReport( oDlg:cFileName )
ENDIF
TFontDialog CT_FONTDIALOG = 42
Diálogo padrão de seleção de fonte. Permite ao usuário escolher uma fonte, estilo, tamanho e cor.
| Propriedade | Tipo | Padrão | Descrição |
cFontName | String | "" | Nome da fonte selecionada |
nFontSize | Numeric | 10 | Tamanho da fonte selecionada (pontos) |
lBold | Logical | .F. | Estilo negrito selecionado |
lItalic | Logical | .F. | Estilo itálico selecionado |
lUnderline | Logical | .F. | Estilo sublinhado selecionado |
nColor | Color | CLR_BLACK | Cor da fonte selecionada |
| Evento | Categoria | Descrição |
OnClose | Ação | Diálogo fechada |
| Método | Retorno | Descrição |
Execute() | Logical | Exibe a diálogo de fonte. Retorna .T. se o usuário selecionou uma fonte. |
| Plataforma | Diálogo Nativa |
| Windows | ChooseFont() (struct CHOOSEFONT) |
| macOS | NSFontPanel |
| Linux | GtkFontChooserDialog |
TColorDialog CT_COLORDIALOG = 43
Diálogo padrão de seleção de cor. Permite ao usuário selecionar uma cor de uma paleta ou definir cores personalizadas.
| Propriedade | Tipo | Padrão | Descrição |
nColor | Color | CLR_BLACK | Valor da cor selecionada |
aCustomColors | Array | {} | Array de valores de cores personalizadas |
| Evento | Categoria | Descrição |
OnClose | Ação | Diálogo fechada |
| Método | Retorno | Descrição |
Execute() | Logical | Exibe a diálogo de cor. Retorna .T. se o usuário selecionou uma cor. |
| Plataforma | Diálogo Nativa |
| Windows | ChooseColor() (struct CHOOSECOLOR) |
| macOS | NSColorPanel |
| Linux | GtkColorChooserDialog |
// Escolher uma cor de fundo
DEFINE COLORDIALOG oDlg
IF oDlg:Execute()
oForm:nClrPane := oDlg:nColor
oForm:Refresh()
ENDIF
TFindDialog CT_FINDDIALOG = 44
Diálogo de pesquisa sem modo. Fornece uma interface de busca de texto com opções para diferenciar maiúsculas/minúsculas e direção.
| Propriedade | Tipo | Padrão | Descrição |
cFindText | String | "" | Texto a pesquisar |
lMatchCase | Logical | .F. | Pesquisa sensível a maiúsculas/minúsculas |
lWholeWord | Logical | .F. | Corresponder apenas palavras inteiras |
lSearchDown | Logical | .T. | Direção da pesquisa (para baixo = avançar) |
| Evento | Categoria | Descrição |
OnFind | Ação | Usuário clicou em Localizar Próximo |
OnClose | Ação | Diálogo fechada |
| Método | Retorno | Descrição |
Execute() | Logical | Exibe a diálogo de pesquisa sem modo. |
| Plataforma | Diálogo Nativa |
| Windows | FindText() (struct FINDREPLACE) |
| macOS | NSTextFinder (barra de pesquisa) |
| Linux | GtkSearchBar + diálogo personalizada |
TReplaceDialog CT_REPLACEDIALOG = 45
Diálogo sem modo de localizar e substituir. Estende TFindDialog com funcionalidade de substituição.
| Propriedade | Tipo | Padrão | Descrição |
cFindText | String | "" | Texto a pesquisar |
cReplaceText | String | "" | Texto de substituição |
lMatchCase | Logical | .F. | Pesquisa sensível a maiúsculas/minúsculas |
lWholeWord | Logical | .F. | Corresponder apenas palavras inteiras |
| Evento | Categoria | Descrição |
OnFind | Ação | Usuário clicou em Localizar Próximo |
OnReplace | Ação | Usuário clicou em Substituir |
OnReplaceAll | Ação | Usuário clicou em Substituir Tudo |
OnClose | Ação | Diálogo fechada |
| Método | Retorno | Descrição |
Execute() | Logical | Exibe a diálogo de substituir sem modo. |
| Plataforma | Diálogo Nativa |
| Windows | ReplaceText() (struct FINDREPLACE) |
| macOS | NSTextFinder (barra de localizar e substituir) |
| Linux | GtkSearchBar + diálogo de substituição personalizada |
// Localizar e Substituir em um 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 Diálogo
Todos os controles de diálogo são componentes não visuais. Coloque-os em um formulário, configure suas propriedades
e chame Execute() para exibir a diálogo nativa do sistema operacional. Cada diálogo retorna .T. quando o usuário
confirma e .F. quando cancela.