1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Duvida Como setar o foco em uma célula do browse

Discussão em 'Progress 4GL' iniciado por joelscampos, Janeiro 29, 2016.

  1. joelscampos

    joelscampos Membro Participativo

    Problema:
    Não consigo navegar entre as células de um browse no Linux.


    No Windows:
    --> se estou numa célula do browse e pressiono o TAB, o cursor vai para a célula da direta.

    No Linux:
    --> se estou numa célula do browse e pressiono o TAB, o cursor sai do browse e vai para outro campo do frame.

    Este é o código de exemplo:


    Código:
    DEF VAR campo-a         AS INT      NO-UNDO.
    
    DEF TEMP-TABLE tt-arquivo
        FIELD nm-arquivo            AS CHAR
        FIELD mm-referencia         AS INT
        FIELD aa-referencia         AS INT.
    
    
    DEF QUERY query-recebidas FOR tt-arquivo.
    
    
    DEF BROWSE browse-recebidas QUERY query-recebidas
    DISPLAY
    tt-arquivo.nm-arquivo           COLUMN-LABEL "Coluna A"
    tt-arquivo.mm-referencia        COLUMN-LABEL "Coluna B"
    tt-arquivo.aa-referencia        COLUMN-LABEL "Coluna C"
    ENABLE ALL
    WITH 4 DOWN SEPARATORS.
    
    
    
    FORM
        campo-a                     AT 1
        browse-recebidas            AT 1
        WITH 1 DOWN OVERLAY NO-UNDERLINE
        FRAME f-principal.
    
    
    CREATE tt-arquivo.
    
    OPEN QUERY query-recebidas FOR EACH tt-arquivo.
    
    
    UPDATE
        campo-a
        browse-recebidas
        WITH FRAME f-principal.
    
  2. joelscampos

    joelscampos Membro Participativo

    Para quem tiver o mesmo problema, segue a alternativa encontrada:

    Código:
    &IF OPSYS = "UNIX" &THEN
        ON     ANY-KEY OF browse-recebidas
            OR ANY-KEY OF tt-arquivo.nm-arquivo
            OR ANY-KEY OF tt-arquivo.mm-referencia
            OR ANY-KEY OF tt-arquivo.aa-referencia
        DO:
    
            /* Seta p/ direita */
            IF KEYFUNCTION(LAST-KEY) = "CURSOR-RIGHT"
            THEN DO:
                APPLY 'EDITOR-TAB' TO SELF. /* (CTRL + G) = "EDITOR-TAB" */
                RETURN NO-APPLY.
            END.
    
            /* Seta p/ esquerda */
            IF KEYFUNCTION(LAST-KEY) = "CURSOR-LEFT"
            THEN DO:
                APPLY 'BACK-TAB' TO SELF.   /* (CTRL + U) = "BACK-TAB" */
                RETURN NO-APPLY.
            END.
        END.
    &ENDIF
    
  3. denek

    denek Membro Participativo

    Olha só, salvou meu dia, deu certinho para o que eu estava precisando no unix, obrigado mesmo Joel!

Compartilhe esta Página