Classe: TTrackMenu
Cria um objeto do tipo menu vertical customizável.
TSrvObject -> TControl -> TTrackMenu
Propriedade | Descrição | Tipo |
bAction | Bloco de código que será executado quando clicar, com o botão esquerdo do mouse, sobre o botão.Este bloco de código receberá o próprio objeto e o ID do botão selecionado.Para mais detalhes consulte o exemplo da classe. | Bloco de código |
lReadOnly | Se .T. indica que os itens do menu ficarão indisponíveis para seleção e movimentação. | Lógico |
A movimentação dos itens deste componente é similar ao comportamente encontrado nos menus do Android® e iPhone®.
Este componente esta disponivel em builds superiores à 7.00.111010P.
#include "TOTVS.CH"//-------------------------------------------------Function u_TrackMenu()//-------------------------------------------------local nXlocal switch := .T. DEFINE MSDIALOG oDlg TITLE "TTrackMenu" FROM 0,0 TO 650,400 COLORS 0, 13945799 PIXEL nTop := 05 nLeft := 05 nWidth := 150 nHeight := 306 oPanel := tPanel():New(nTop,nLeft,,oDlg,,,,,,nWidth,nHeight) // Estilo iPhone ® oPanel:SetCss( " QLabel { background-color: white; border-radius: 12px ; border: 2px solid gray;}" ) cColorBackGround := "#FFFFFF" cColorSeparator := "#C0C0C0" cGradientTop := "#57A2EE" // Gradiente inicial do botao selecionado cGradientBottom := "#2BD0F7" // Gradiente final do botao selecionado cColorText := "#000000" // Estilo Android ® /* oPanel:SetCss( " QLabel { background-color: black; border-radius: 12px ; border: 2px solid gray;}" ) cColorBackGround := "#000000" cColorSeparator := "#FFFFFF" cGradientTop := "#087BA6" // Gradiente inicial do botao selecionado cGradientBottom := "#087BA6" // Gradiente final do botao selecionado cColorText := "#C0C0C0" */ cHeigthBtn := 40 oFont := TFont():New('Arial',,12,,.T.,,,,,.F.,.F.) oTrackMenu := TTrackMenu():New( oPanel, 3, 2, nWidth-4, nHeight-6, {|o,cID| MyAction(o, cId, @switch) }, cHeigthBtn, cColorBackGround, cColorSeparator,; cGradientTop, cGradientBottom, oFont, cColorText ) // Insere botoes oTrackMenu:Add("ID001", "Item Menu 1", "afastamento", ) oTrackMenu:Add("ID002", "Item Menu 2", "agenda" , "switch_on" ) oTrackMenu:Add("ID003", "Item Menu 3", "aviao" , "dummy.png" ) oTrackMenu:Add("ID004", "Item Menu 4", "bahead" , "arrow" ) oTrackMenu:Add("ID005", "Item Menu 5", , "arrow" ) for nX := 6 to 100 oTrackMenu:Add("ID"+StrZero(nX,3), "Item Menu "+cValToChar(nX)) next nX ACTIVATE MSDIALOG oDlg CENTERED Return //-------------------------------------------------Static Function MyAction(oTrackMenu, cId, switch)//-------------------------------------------------local nX // Similação de Switch (Liga-Desliga) if cId == "ID002" switch = !switch oTrackMenu:SetImage( "ID002", iif(switch, "switch_on", "switch_off") ) endif // Simulação de barra de progresso if cId == "ID003" oTrackMenu:lReadOnly := .T. for nX := 1 to 5 oTrackMenu:SetImage( "ID003", "bar0"+cValToChar(nX) ) ProcessMessages() sleep(500) next oTrackMenu:lReadOnly := .F. endif // Exibe item selecionado Conout("Item Selecionado: "+cID) Return
Microsiga Protheus 11
,
Protheus 10
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas