Página 1 de 2

Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 08 Jul 2008 15:32
por Cezar
Boa tarde,

Como pego o Clique no [X] da janela principal para fechar a aplicação (programa), para poder fazer a famosa pergunta: Deseja finalizar o programa S/N?

Dei uma pesquisada no hWindow.prg tentei algumas coisas mas não consegui??

Agradeço a dica
v_cez@yahoo.com.br

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 08 Jul 2008 16:44
por sygecom
Ex:

Código: Selecionar todos

  INIT WINDOW oTelaPrincipal;
  MAIN ;
  TITLE "SGM - SISTEMA DE GERENCIAMETO DE MENSALIDADE";
  SIZE GetDesktopWidth(), GetDesktopHeight() ;
  ICON oIcon ;
  COLOR HBrush():Add( 8355711 ):handle;
  ON EXIT {|| sair() }  // aqui ele vai fazer a pergunta....

FUNCTION sair
IF MsgYesNo( "Deseja sair do sistema ?" )
   dbcloseall()
   QUIT
ELSE
   RETURN .F.
ENDIF
Return .T.


Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 18 Set 2008 09:33
por gralak
Caro amigo sygecom eu tentei usar essa forma de código para poder validar a saida da minha tela
contudo estou usando um DIALOG não o MAIN , pois quando eu clico o ESC não ele gera a mensagem mas se clico no não ele trava a aplicação as demais funções não funcionam e eu tenho que sair e entrar novamente para voltarem a funcionar.
Se vc ou alguém souber outra maneira para me ajudar eu agradeço ?
Ou tb se existe alguma forma de fazer com que a tecla ESC execute outra função não a de sair ?
Obrigado por hora té ++++ :-Y :-Y :-Y

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 18 Set 2008 09:42
por sygecom
Post sua função que arrumo nela pra você.

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 18 Set 2008 11:41
por gralak
Ok este o arquivo o principal e trava a Browse...

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 19 Set 2008 12:17
por sygecom
Mas estava faltando funções, a FINALIZA, mas fizemos assim, olhe o exemplo do LINK abaixo que tem o que vc quer:
http://www.4shared.com/file/50213659/7b ... hwgui.html

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 10:20
por gralak
Caro amigo sygecom fiz a validação idêntica a do fonte contudo continua travando minha aplicação, em todo caso acontece a seguinte situação quando o retorno da função é igual a FALSE a aplicação não fecha mais trava se o retorno da função é igual a TRUE ele sai corretamente. O meu problema é essa trava pois quando eu mando a função retornar NIL da ERRO CONDICIONA.
Será que pode ser a versão ??? se vc tiver o link de uma versão bem recente pra mim poder usar manda pra mim por favor .
Outra Forma seria desabilitar a TECLA ESC mas como eu faço isso ???

Obrigado pela atenção e Ajuda.... :-Y

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 13:25
por esbasso
fUNCIONA perfeitamente,

INIT WINDOW oMain MAIN TITLE " Example - Database" ;
AT 0,0 ;
SIZE GetDesktopWidth(), GetDesktopHeight() - 28;
ON EXIT {||MsgYesNo("Really exit ?")}

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 14:16
por gralak
Caro Esbasso eu j'a tentei dessa maneira mas a questao e que o form pode nao fechar mas trava todos ou meus outros processo como por exemplo a minha BROWSE e outras funcoes que sao disparadas nos valid dos GETs...
Por isso pergunto
Será que pode ser a versão ??? se vc tiver o link de uma versão bem recente pra mim poder usar manda pra mim por favor .
Outra Forma seria desabilitar a TECLA ESC mas como eu faço isso ??? :-o

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 14:21
por esbasso
Voce não usa o CVS para baixar as atualizações mais recentes?

coloquei em http://www.engersoft.com.br/download/util/hwlib.rar a ultima versão

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 15:01
por gralak
Então Amigo Esbasso a mauqina em que eu desenvolvo nem conexão com INTERNET tem quem faz essa baixa de atualizações e meu chefe, mas no entanto acho que ele não deve ter feito muito recentemente ...
Mas vou baixar essa que vc me passou e tentar ok ...
Obrigado por hora ... :-Y

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 15:02
por gralak
O link esta fora do AR !!

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 15:18
por sygecom
gralak escreveu:Outra Forma seria desabilitar a TECLA ESC mas como eu faço isso ??? :-o
Ex:

Código: Selecionar todos

   INIT DIALOG odlg TITLE "Nome da Janela DIALOG"  ;
   AT 110,100  SIZE 700,350 NOEXIT NOEXITESC ;
   FONT Fonte ;
   ICON oIcon ;
   STYLE WS_DLGFRAME + WS_SYSMENU + DS_CENTER

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 15:52
por gralak
Ai galera que me ajudou depois de fuçar muito eu cheguei à algum lugar segue em anexo o PRG em que eu alterei
na linha 334 e 335 fiz com que a TECLA ESC ficasse manipulavel para a minha situação, agradeço pela ajuda de todos ...
X:) X:) :-Y :-Y :-Y

Re: Fechar a Aplicação ( Tela Principal) Clicando no [X]"

Enviado: 22 Set 2008 16:09
por esbasso
voce teria de atualizar tua lib e ver se não esta daria certo antes de alterar num fonte para um caso especifico