evento para o botão fechar

Discussão em 'Progress 4GL' iniciado por ueluis, Março 1, 2012.

  1. ueluis

    ueluis Membro Participativo

    Olá galera,

    tenho uma grande dúvida, dei uma pesquisada aqui no fórum e não encontrei nada especifico.

    a dúvida é:
    Quero fechar a janela direto no botão da frame tem como?

    segue o exemplo

    Código:
    DEF VAR vnome AS CHAR FORMAT "x(15)" LABEL "Nome: ".
            DEF VAR vsetor AS CHAR FORMAT  "x(15)" LABEL "Setor:".
    
            DEF FRAME f-funcionario   
               "USUARIO SELECIONADO:                  " at row 02.1 column 1.9 FONT 160
               /* "Codigo:      " at row 15.1 column 1.9    FONT t-font*/
                "Nome:   " at row 04.1 column 1.9          FONT 160
                vnome  at row 06.1 column 1.9  FONT 160
               
                "Setor:   " at row 04.1 column 20.4  FONT 160
                 vsetor at row 06.1 column 20.4  FONT 160
                
            WITH title "Acesso:" 
            NO-LABELS  three-d  view-as DIALOG-BOX /*row 1 centered OVERLAY */
            size 50 by 15. 
        
    
            UPDATE vnome vsetor WITH FRAME f-funcionario. 
  2. LeandroSantos

    LeandroSantos Membro Participativo

    Voce pode fazer assim:
    Código:
    DEF VAR vnome AS CHAR FORMAT "x(15)" LABEL "Nome: ".
            DEF VAR vsetor AS CHAR FORMAT  "x(15)" LABEL "Setor:".
    
            DEF FRAME f-funcionario   
               "USUARIO SELECIONADO:                  " at row 02.1 column 1.9 FONT 160
               /* "Codigo:      " at row 15.1 column 1.9    FONT t-font*/
                "Nome:   " at row 04.1 column 1.9          FONT 160
                vnome  at row 06.1 column 1.9  FONT 160
               
                "Setor:   " at row 04.1 column 20.4  FONT 160
                 vsetor at row 06.1 column 20.4  FONT 160
                
            WITH title "Acesso:" 
            NO-LABELS  three-d  view-as DIALOG-BOX /*row 1 centered OVERLAY */
            size 50 by 15. 
    
    on return of vsetor in frame f-funcionario
    do:
       assign frame f-funcionario
          vnome vsetor.
       if /* nome e setor verdadeiro */ then
          apply "window-close" to frame f-funcionario.
       else message "Nome ou Setor invalido." view-as alert-box.
    end.
    
    enable all with frame f-funcionario.
    
    wait-for window-close of frame f-funcionario.
    
  3. ueluis

    ueluis Membro Participativo

    olá Lenadro Santos,
    obrigado por responder, entendi sua explicação, porém queria colocar um evento para fechar a janela quando o usuario pressionar o botão fechar e incluir uma ação tipo uma msg.

    a ação ficaria no botão da imagem abaixo:
    [​IMG]



  4. LeandroSantos

    LeandroSantos Membro Participativo

    Não sei se entendi direito sua duvida, mas veja se é isto que precisa:
    Código:
    DEF VAR vnome AS CHAR FORMAT "x(15)" LABEL "Nome: ".
            DEF VAR vsetor AS CHAR FORMAT  "x(15)" LABEL "Setor:".
    
            DEF FRAME f-funcionario   
               "USUARIO SELECIONADO:                  " at row 02.1 column 1.9 FONT 160
               /* "Codigo:      " at row 15.1 column 1.9    FONT t-font*/
                "Nome:   " at row 04.1 column 1.9          FONT 160
                vnome  at row 06.1 column 1.9  FONT 160
               
                "Setor:   " at row 04.1 column 20.4  FONT 160
                 vsetor at row 06.1 column 20.4  FONT 160
                
            WITH title "Acesso:" 
            NO-LABELS  three-d  view-as DIALOG-BOX /*row 1 centered OVERLAY */
            size 50 by 15. 
    
    on window-close of frame f-funcionario
    do:
       message "Fechar o sistema?" 
          view-as alert-box question button yes-no update lchoice as log.
       if lchoice then
          apply "close" to this-procedure.
    end.
    
    enable all with frame f-funcionario.
    
    wait-for close of this-procedure.
    
  5. ueluis

    ueluis Membro Participativo

    Olá,


    era essa minha dúvida obrigado pela solução!


    abç :mrgreen:

Compartilhe esta Página