[RESOLVIDO] Botão para fechar a tela

Discussão em 'EMS , HCM e Totvs 11' iniciado por elvis.silveira, Março 30, 2016.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. elvis.silveira

    elvis.silveira Sem Pontuação

    Pessoal,
    Estou com a UPC abaixo que fiz para chamar uma tela a partir de um botão mais preciso que a primeira feche assim quando a segunda abrir.

    def input param p-ind-event as char no-undo.
    def input param p-ind-object as char no-undo.
    def input param p-wgh-object as handle no-undo.
    def input param p-wgh-frame as widget-handle no-undo.
    def input param p-cod-table as char no-undo.
    def input param p-row-table as rowid no-undo.
    def var c-objeto as char no-undo.

    assign c-objeto = entry(num-entries(p-wgh-object:private-data, "~/"), p-wgh-object:private-data, "~/").

    DEFINE NEW GLOBAL SHARED VARIABLE hbotaoFP3060 AS HANDLE NO-UNDO.
    DEFINE NEW GLOBAL SHARED VARIABLE hbotaoFP3060Custom AS HANDLE NO-UNDO.
    DEFINE VARIABLE haux AS HANDLE NO-UNDO.
    DEFINE VARIABLE hfg AS HANDLE NO-UNDO.


    IF p-ind-object = 'container' THEN DO:

    IF c-objeto = 'fp3060.w' THEN DO:

    IF p-ind-event = 'BEFORE-INITIALIZE' THEN DO:

    hfg = p-wgh-frame:FIRST-CHILD.
    haux = hfg:FIRST-CHILD.

    DO WHILE VALID-HANDLE (haux):

    IF haux:NAME = 'bt-cancelar' THEN DO:


    hbotaoFP3060 = haux.

    CREATE BUTTON hbotaoFP3060Custom
    ASSIGN
    FRAME = p-wgh-frame
    LABEL = 'Fechar'
    NAME = 'hbotaoFP3060Custom'
    WIDTH = hbotaoFP3060:WIDTH
    HEIGHT = hbotaoFP3060:HEIGHT
    ROW = hbotaoFP3060:ROW
    COL = hbotaoFP3060:COL + hbotaoFP3060:WIDTH + 1


    VISIBLE = TRUE
    SENSITIVE = TRUE


    TRIGGERS:

    ON 'choose':U PERSISTENT RUN prghur/fpp/fp3720.r.


    END TRIGGERS.




    END.


    haux = haux:NEXT-SIBLING.

    END.



    END.
    ELSE
    IF p-ind-event = 'enable' THEN DO:

    IF VALID-HANDLE(hbotaoFP3060Custom) AND
    VALID-HANDLE(hbotaoFP3060) THEN

    hbotaoFP3060Custom:SENSITIVE = hbotaoFP3060:SENSITIVE.

    END.
    ELSE
    IF p-ind-event = 'disable' THEN DO:

    IF VALID-HANDLE(hbotaoFP3060Custom) AND
    VALID-HANDLE(hbotaoFP3060) THEN

    hbotaoFP3060Custom:SENSITIVE = hbotaoFP3060:SENSITIVE.


    END.



    END.


    END.
    ELSE
    IF p-ind-object = 'container' THEN DO:

    IF p-ind-event = 'destroy' THEN DO:

    DELETE OBJECT hbotaoFP3060Custom NO-ERROR.
    END.
    END.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    pegar o handle do programa e fazer um apply 'CLOSE' nele.
  3. elvis.silveira

    elvis.silveira Sem Pontuação

    Como posso fazer isso?
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    vc tem um comando chamado program-name[indice] esse indice vc vai variando ele, iniciando em 1, que provavelmente seja a sua upc, achando o indice correto, vc pega o program-name[indice];handle, bem, depois disso, basta vc fazer apply 'close' to handlePrograma.
    mais ou menos isso.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página