Colocar foco em fill in

Discussão em 'Progress 4GL' iniciado por erickles, Julho 22, 2009.

  1. erickles

    erickles Membro Participativo

    Olá Pessoal,

    Qual o comando pra colocar o foco em um determinado fill in?
  2. mcarril

    mcarril Membro Participativo

    O Fill-In Field é um Widget, segue abaixo uns eventos com funções importantes:


    ENTRY ---> Qualquer ação do usuário ou da aplicação que dá foco a um Widget

    CHOOSE ---> Qualquer ação que causa a seleção de um botão ou um menu

    LEAVE ---> Qualquer ação do usuário ou da aplicação que tira o foco de um widget

    VALUE-CHANGED --> Qualquer ação que muda o valor atual de um toggle-box, radioset ou selection list

    INTERATION-CHANGED ---> Qualquer ação que muda o registro selecionado de um browse.


    RESUMO:

    Entry é executado quando um widget recebe o foco e LEAVE quando perde o foco.

    Exemplo:

    Código:
    ON ENTRY OF field2 DO:
        MESSAGE "Entrei no Field2".
    END.
    
    ON LEAVE OF field2 DO:
        MESSAGE "Sai do Field2".
    END.
    Se precisar de um exemplo prático de programa (Caracter, orientado a eventos) me avisa que eu posto aqui.
  3. erickles

    erickles Membro Participativo

    Entao, no meu caso, tenho um campo fill-in, que esta mapeado com o campo de uma tabela, fiz o seguinte codigo que executa ao confirmar a alteração dos dados:

    Código:
    apply "entry" to tabela.observacao in frame fpage0.
                return no-apply.
    
    
    Mas mesmo asism, o foco não volta para o campo, o que poderá estar faltando?
  4. mcarril

    mcarril Membro Participativo

    Tenta assim:

    Código:
    ENABLE tabela.observacao WITH FRAME fpage0.
    
    apply "entry" to tabela.observacao in frame fpage0.
                return no-apply.
    Veja um exemplo :

    Código:
    DEF VAR field1 AS CHAR INITIAL "Inicio" FORMAT "X(10)" LABEL "Start".
    DEF VAR field2 AS CHAR INITIAL "Campo" FORMAT "x(10)" LABEL "Destino".
    DEF BUTTON btn-exit LABEL "Saida".
    
    
    DEF FRAME frame1
       SKIP(2) field1 SPACE(10) field2 SKIP(2)
       btn-exit WITH NO-BOX CENTERED SIDE-LABELS.
    
    ON ENTRY OF field2
    DO:
       MESSAGE "Entrando no campo".
    END.
    
    ON LEAVE OF field2
    DO:
       MESSAGE "Saindo do campo".
    END.
    
    /* Bloco principal */
    DISPLAY field1 field2 WITH FRAME frame1.
    ENABLE ALL WITH FRAME frame1.
    WAIT-FOR CHOOSE OF btn-exit.
    SE NÃO RESOLVER MANDA O PROGRAMA INTEIRO ...
    ABRAÇOS

Compartilhe esta Página