Habilitar e Desabilitar os Botões Incluir, Excluir e Copiar

275 views
Skip to first unread message

Guilherme BG

unread,
Aug 22, 2019, 10:52:00 AM8/22/19
to Progress - 4GL
Olá pessoal bom dia, eu consigo desabilitar os botões de Excluir, Incluir e Copiar da telas. Ex: gostaria de desabilitar do programa PD4050 / PD4000 a opção de copiar.

Marcelo Torres

unread,
Aug 22, 2019, 11:14:26 AM8/22/19
to progre...@googlegroups.com
Olá Guilherme. Boa tarde.

Eu acho que para o PD4050 isto aqui deve funcionar.




DEFINE INPUT PARAMETER p-ind-event  AS CHARACTER.
DEFINE INPUT PARAMETER p-ind-object AS CHARACTER.
DEFINE INPUT PARAMETER p-wgh-object AS HANDLE.
DEFINE INPUT PARAMETER p-wgh-frame  AS WIDGET-HANDLE.
DEFINE INPUT PARAMETER p-cod-table  AS CHARACTER.
DEFINE INPUT PARAMETER p-row-table  AS ROWID.

DEFINE VARIABLE wh-botao        AS WIDGET-HANDLE    NO-UNDO.
DEFINE VARIABLE wh-objeto       AS WIDGET-HANDLE    NO-UNDO.
DEFINE VARIABLE i-level         AS INTEGER          NO-UNDO.
DEFINE VARIABLE wh-objeto-level AS WIDGET-HANDLE    EXTENT 20.


DEFINE VARIABLE i-ind           AS INTEGER          NO-UNDO.
DEFINE VARIABLE c-botoes        AS CHARACTER        NO-UNDO.


ASSIGN c-botoes = "btAdd,btCopy,btDelete".


IF p-ind-event = "AFTER-INITIALIZE" THEN DO:
    DO i-ind = 1 TO NUM-ENTRIES(c-botoes):
        RUN pi-busca-handle (INPUT  ENTRY(i-ind, c-botoes),
                             INPUT  p-wgh-frame,
                             OUTPUT wh-botao).

        IF VALID-HANDLE(wh-botao) THEN DO:
            ASSIGN wh-botao:SENSITIVE = NO.
        END.
    END.
END.

RETURN "OK".



PROCEDURE pi-busca-handle:
    DEFINE INPUT  PARAM p-campo      AS CHARACTER     NO-UNDO.
    DEFINE INPUT  PARAM p-frame      AS WIDGET-HANDLE NO-UNDO.
    DEFINE OUTPUT PARAM p-wh-campo   AS WIDGET-HANDLE NO-UNDO.
   
    DEFINE VARIABLE wh-objeto        AS WIDGET-HANDLE.
    DEFINE VARIABLE i-level          AS INTEGER          NO-UNDO.
    DEFINE VARIABLE wh-objeto-level  AS WIDGET-HANDLE    EXTENT 20.

    ASSIGN wh-objeto = p-wgh-frame:PARENT. /* Pesquisa objetos em todas as frames / panels */

    ASSIGN i-level = 1.
    DO WHILE VALID-HANDLE(wh-objeto):
        IF wh-objeto:NAME = p-campo THEN DO:
            ASSIGN p-wh-campo = wh-objeto.
            LEAVE.
        END.
       
        IF wh-objeto:TYPE = "frame" OR wh-objeto:TYPE = "field-group" OR wh-objeto:TYPE = "window" THEN
            ASSIGN wh-objeto-level[i-level] = wh-objeto
                   wh-objeto                = wh-objeto:FIRST-CHILD
                   i-level                  = i-level + 1.
        ELSE
            ASSIGN wh-objeto = wh-objeto:NEXT-SIBLING.

        DO WHILE i-level > 1 AND NOT VALID-HANDLE(wh-objeto):
            ASSIGN i-level = i-level - 1
                   wh-objeto = wh-objeto-level[i-level]:NEXT-SIBLING.
        END.
    END.
END PROCEDURE.


Já o PD4000 tem de testar. Pode ser que o mesmo código funcione, mas tem de buscar o nome dos botões.


Abraços,
Marcelo Torres



Em qui, 22 de ago de 2019 às 11:52, Guilherme BG <gbou...@gmail.com> escreveu:
Olá pessoal bom dia, eu consigo desabilitar os botões de Excluir, Incluir e Copiar da telas. Ex: gostaria de desabilitar do programa PD4050 / PD4000 a opção de copiar.

--
Recebeu esta mensagem porque subscreveu ao grupo "Progress - 4GL" do Grupos do Google.
Para anular a subscrição deste grupo e parar de receber emails do mesmo, envie um email para progress_4gl...@googlegroups.com.
Para ver este debate na Web, visite https://groups.google.com/d/msgid/progress_4gl/5f1b1b9e-a7cc-4c24-8256-1420e1885ecf%40googlegroups.com.

Guilherme BG

unread,
Aug 22, 2019, 12:17:42 PM8/22/19
to progre...@googlegroups.com
Obrigado Marcelo irei fazer um teste.

Recebeu esta mensagem porque subscreveu um tópico no grupo "Progress - 4GL" do Grupos do Google.
Para anular a subscrição deste tópico, visite https://groups.google.com/d/topic/progress_4gl/s1_AtVub25c/unsubscribe.
Para anular a subscrição deste grupo e de todos os seus tópicos, envie um email para progress_4gl...@googlegroups.com.
Para ver este debate na Web, visite https://groups.google.com/d/msgid/progress_4gl/CAJEr9OnUkEtkmd2dw7BZn%2Br%3DUaZgBU0BBfRywgP85zV6utc7vQ%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages