MSDialog Validação

É possível adicionar uma validação na MSDialog, tanto em algum botão quanto para fechá-la?

Thyago, ao fechar ela, você quer dizer ao clicar no X?

Oi Daniel. Seria no clique do sbutton e também ao fechar a tela. Na verdade, não sei se isso é possível utilizando msdialog e sbutton. Procurei na documentação mas não encontrei.

Olá Thyago, entendi sua dúvida, nesse caso desconheço totalmente uma validação no botão fechar do canto direito da tela. O que podemos fazer é desativar este botão X do canto superior, assim forçando o usuário a clicar nos botões da própria tela e assim passar pela validação. Para isso basta passar o valor DS_MODALFRAME no 9 parâmetro do construtor NEW. Ou ser estiver usando a sintaxe de script fica assim:

MSDIALOG ..... STYLE DS_MODALFRAME...

Opa, valeu. A validação no botão acabei colocando dentro de um bloco de código e agora desativando o “x” no canto da janela já ajuda bastante.

Thyago acabei esquecendo de complementar, além desse parâmetro, é interessante acrescentar este: oDlg:lEscClose := .F., assim o usuário também não fecha a tela se pressionar a tecla ESC no teclado.