embarcadero - Qual a diferença entre SaveDialog e FileSaveDialog no Delphi? - Stack Overflow em Português
Já usei ambos os componentes, tanto o SaveDialog quanto o FileSaveDialog para as mesmas tarefas, sem notar nenhuma diferença entre os mesmos, exceto o fato do FileSaveDialog não ser compatível com o Windows XP, a coexistência dos dois componentes foi penas um capricho da Embarcadero ou eles possuem utilidades diferenciadas entre si?
perguntada 3/07/15 às 23:18
Procurei na documentação do Delphi e encontrei apenas o SaveDialog. Em qual versão o TFileSaveDialog se encontra? – Giancarlo Abel Giulian 4/07/15 às 0:33
A diferença é que TSaveDialog usa janelas padrões e TFileSaveDialog usa o visual do Vista.
Conforme o site http://docs.embarcadero.com as seguintes informações:
TSaveDialog mostra uma janela de dialogo modal para selecionar o nome do arquivo e salva-lo. A janela de diálogo não aparece durante a execução até que ele é ativado por uma chamada para o método de execução.
Quando o usuário clica em Salvar a janela de dialogo fecha e salva o nome do arquivo na propriedade FileName.
TSaveDialog é estendido de TOpenDialog que é estendido de TCommomDialog
É uma classe para o estilo de janelas do Vista. Está classe é estendida de TCustomFileSaveDialog, isto permite criar janelas com o estilo do Windows Vista com CLSID_FileSaveDialog e implementa a interface do IFileSaveDialog
TFileSaveDialog é estendida de TCustomFileSaveDialog que é estendido de TCustomFileDialog.
Janela de para abrir e salvar arquivos, está classe base abstrata estende para as janelas de dialogo de arquivo para o estilo do Microsoft Windows Vista.
Nota: Nas novas versões do Delphi você pode usar TSaveDialog, pois aparentemente ele detecta o sistema operacional e troca para o sistema de janelas do mesmo.
editada 4/07/15 às 22:03
respondida 4/07/15 às 14:04
Então tudo se resume a aparências? – EvertonBrunoSDS 4/07/15 às 21:45
@EvertonBruno acredito que seja mais do que aparencia, o sistema de janelas do vista em diante tem botões e algumas funções a mais, note que parece que nas novas versões do Delphi funções como TSaveDialog já detectam o sistema e usam o sistema de janelas do sistema operacional atual, dando compatibilidade assim para sistemas mais antigos (acredito eu). – Guilherme Nascimento♦ 4/07/15 às 22:05
Obrigado pela informação, também desconhecia e não tinha conseguido encontrar na documentação. – Giancarlo Abel Giulian 5/07/15 às 1:14
Esta não é a resposta que você está procurando? Pesquise outras perguntas com a tag delphi embarcadero ou faça sua própria pergunta.