alteração menudef em tempo de execução

vejam o exemplo a seguir

eu chamo um fwmarkbrowser a partir de um item do menu do meu browser principal, minha duvida é como eu monto um menudef especifico para esse FWMarkBrowse ? o exemplo eu estou setando branco para nao aparecer o menu original, mas como eu criaria um menu especifico so para o fwmarkbrowse ?

User Function OB_RATD() //U_OB_RATD()

    Local oBrowse
    Private aRotina := {}
    private aAreaG         := FWGetArea()

    private oSayTit, cSayConta := 'Descrição da conta'
    private oSayDesc, cSayDescC := space(100)

    //Definicao do menu
    aRotina := MenuDef()
    cFunBkp := FunName()
    //Instanciando o browse
    oBrowse := FWMBrowse():New()
    oBrowse:SetAlias(cTabPai)
    oBrowse:SetDescription(cTitulo)
    oBrowse:DisableDetails()

    //Ativa a Browse
    oBrowse:Activate()

    FWRestArea(aAreaG)


return


Static Function MenuDef()
    Local aRotina := {}
    //Adicionando opções
    ADD OPTION aRotina TITLE 'Visuzalizar'    ACTION 'VIEWDEF.OB_RATD'    OPERATION MODEL_OPERATION_VIEW   ACCESS 0 //OPERATION 1
    ADD OPTION aRotina TITLE 'Incluir'        ACTION 'VIEWDEF.OB_RATD'    OPERATION MODEL_OPERATION_INSERT ACCESS 0 //OPERATION 3
    ADD OPTION aRotina TITLE 'Alterar'        ACTION 'VIEWDEF.OB_RATD'    OPERATION MODEL_OPERATION_UPDATE ACCESS 0 //OPERATION 4
    ADD OPTION aRotina TITLE 'Excluir'        ACTION 'VIEWDEF.OB_RATD'    OPERATION MODEL_OPERATION_DELETE ACCESS 0 //OPERATION 5

    ADD OPTION aRotina TITLE 'Processar FIN'      ACTION 'u_ob_busct'           OPERATION 9 ACCESS 0 //OPERATION 5
    ADD OPTION aRotina TITLE 'Processar CTB'      ACTION 'u_OBRATCTB'           OPERATION 9 ACCESS 0 //OPERATION 5


Return aRotina

user function ob_busct()

DEFINE MSDIALOG oDlgMed TITLE 'Rateios' FROM 0, 0 TO nJanAltu, nJanLarg  Of oMainWnd   PIXEL

        oPanel := TPanel():New(aPosPanel[1],005,'',oDlgMed,, .T., .T.,, ,aSize[3]*0.95,aPosPanel[4]/4)
        oBrowse:= FWMarkBrowse():New()
        oBrowse:SetOwner(oPanel)
        oBrowse:SetMenuDef('')
        oBrowse:SetDescription('Titulos regras '+mv_par01)


        //Adicionando a primeira legenda
        oBrowse:AddLegend( "(cAliasBrw)->TMP_OK == ''",     'WHITE',   'Sem Procedencia' )
        oBrowse:AddLegend( "(cAliasBrw)->TMP_OK <> ''",     'BLUE',    'Procedencia Original')


        oBrowse:SetFields(aColsBrw)
        oBrowse:SetSeek(.T.,aSeeks)
        oBrowse:DisableReport()
        oBrowse:DisableConfig()
        oBrowse:DisableFilter()
        oBrowse:DisableLocate()
        oBrowse:DisableSaveConfig()
        oBrowse:SetTemporary(.T.)
        oBrowse:SetAlias(cAliasBrw)
        oBrowse:SetFieldMark("TMP_OK")
        oBrowse:SetMark(cMarca,cAliasBrw,"TMP_OK")
        oBrowse:SetWalkThru(.F.)
        oBrowse:SetAmbiente(.F.)
        //oBrowse:SetAfterMark({||u_z9_bmedt()})
        oBrowse:Activate()

        oBrowse:oBrowse:SetFocus()
return
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags arotina fwmarkbrowse menudef ou faça a sua própria pergunta.