Estou fazendo uma upc para a tela mi0504, mas não consigo pegar o evento de clique de um botão da tela, essa é a primeira vez que crio uma upc, segue código: 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. /*-----------------------------------------------------------------------*/ /* DEFINICAO DE VARIAVEIS */ /*-----------------------------------------------------------------------*/ DEF VAR c-objeto AS CHAR NO-UNDO. DEF VAR wgh-flag-excel AS WIDGET-HANDLE NO-UNDO. DEF VAR wgh-destino AS WIDGET-HANDLE NO-UNDO. DEF VAR wgh-bt-executar AS WIDGET-HANDLE NO-UNDO. /*Função de busca de objetos dentro da tela*/ FUNCTION SearchObject RETURN WIDGET-HANDLE (INPUT pHandle AS HANDLE, INPUT pName AS CHARACTER): DEFINE VARIABLE pReturnHandle AS HANDLE. pReturnHandle = ?. IF NOT CAN-QUERY (pHandle, "first-child") THEN RETURN pReturnHandle. pHandle = pHandle:FIRST-CHILD. REPEAT: IF NOT VALID-HANDLE (pHandle) THEN LEAVE. IF pName = pHandle:NAME THEN RETURN pHandle. pReturnHandle = SearchObject (pHandle, pName). IF pReturnHandle <> ? THEN RETURN pReturnHandle. pHandle = pHandle:NEXT-SIBLING. END. RETURN pReturnHandle. END. ASSIGN c-objeto = ENTRY(NUM-ENTRIES(p-wgh-objectRIVATE-DATA, "~/"), p-wgh-objectRIVATE-DATA, "~/"). MESSAGE "EVENTO" p-ind-event SKIP "OBJETO" p-ind-object SKIP "NOME OBJ" c-objeto SKIP "FRAME" p-wgh-frame SKIP "TABELA" p-cod-table SKIP "ROWID" STRING(p-row-table) VIEW-AS ALERT-BOX. // Inclusão de um campo simples dentro da tela IF p-ind-event = 'CHANGE-PAGE' AND p-ind-object = 'CONTAINER' AND c-objeto = ? THEN DO: // Usando função para buscar um objeto existente na tela ASSIGN wgh-destino = SearchObject(INPUT p-wgh-frame, 'rs-destino'). IF VALID-HANDLE(wgh-destino) THEN DO: // Cria widget CREATE TOGGLE-BOX wgh-flag-excel. // Atribui informações ao widget criado ASSIGN wgh-flag-excel:FRAME = wgh-destino:FRAME wgh-flag-excel:WIDTH = 50 wgh-flag-excel:HEIGHT = 0.88 wgh-flag-excel:ROW = 3.70 wgh-flag-excel:COL = wgh-destino:COL wgh-flag-excel:NAME = 'wgh-flag-excel' wgh-flag-excel:HELP = 'Gerar arquivo em Excel?' wgh-flag-excel:VISIBLE = YES wgh-flag-excel:SENSITIVE = YES wgh-flag-excel:CHECKED = YES wgh-flag-excel:LABEL = 'Gera Excel?'. END. END. IF p-ind-event = 'INITIALIZE' AND p-ind-object = 'CONTAINER' AND c-objeto = 'mi0504.w' THEN DO: // Usando função para buscar um objeto existente na tela ASSIGN wgh-bt-executar = SearchObject(INPUT p-wgh-frame, 'bt-executar'). IF VALID-HANDLE(wgh-bt-executar) THEN DO: ON 'CHOOSE' OF wgh-bt-executar DO: RUN upc\mip\upc-mi0504rp. END. END. END. return 'ok'.