Classe: DBTree
Vamos aprender como usar a Classe: DBTree para criar um objeto do tipo árvore de itens.
Sintaxe:
DBTree(): New ( [ nTop], [ nLeft], [ nBottom], [ nRight], [ oWnd], [ bChange], [ bRClick], [ lCargo], [ lDisable], [ oFont] ) –> oObjeto
Parâmetros:
- nTop = Numérico = Indica a coordenada vertical superior do objeto.
- nLeft = Numérico = Indica a coordenada horizontal à esquerda do objeto.
- nBottom = Numérico = Indica a coordenada vertical inferior do objeto.
- nRight = Numérico = Indica a coordenada horizontal à direita do objeto.
- oWnd = Objeto = Indica a janela ou controle visual onde o objeto será criado.
- bChange = Bloco de código = Indica o bloco de código que será executado quando o estado ou conteúdo do objeto é modificado pela ação sobre o controle visual.
- bRClick = Bloco de código = Indica o bloco de código que será executado quando clicar, com o botão direito do mouse, sobre o objeto.
- lCargo = Lógico = Indica se, verdadeiro (.T.), os elementos da Tree utilizarão a propriedade cCargo, do método AddItem(), que armazena uma string identificadora, para cada elemento e item da árvore; caso contrário, falso (.F.).
- lDisable = Lógico = Indica se, verdadeiro (.T.), cria o objeto da Tree desabilitado, ou seja, não permitindo foco e navegação no mesmo até que seja habilitado; caso contrário, falso (.F.).
- oFont = Objeto = Indica o objeto do tipo TFont utilizado para definir as características da fonte aplicada na exibição do conteúdo do controle visual.
- Retorno
oObjeto()
Retorna o objeto criado.
Tela mostrando o Exemplo: http://tdn.totvs.com/command/getimage?key=fileName%3DDBTree.jpg%2Cmime%3Dimage%2Fpjpeg%2Ctimestamp%3D1314292833245
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#include "TOTVS.CH" User Function DbTree() DEFINE DIALOG oDlg TITLE "Exemplo de DBTree" FROM 180,180 TO 550,700 PIXEL // Cria a Tree oTree := DbTree():New(0,0,160,260,oDlg,,,.T.) // Insere itens oTree:AddItem("Primeiro nível da DBTree","001", "FOLDER5" ,,,,1) If oTree:TreeSeek("001") oTree:AddItem("Segundo nível da DBTree","002", "FOLDER10",,,,2) If oTree:TreeSeek("002") oTree:AddItem("Subnível 01","003", "FOLDER6",,,,2) oTree:AddItem("Subnível 02","004", "FOLDER6",,,,2) oTree:AddItem("Subnível 03","005", "FOLDER6",,,,2) endif endif oTree:TreeSeek("001") // Retorna ao primeiro nível // Cria botões com métodos básicos TButton():New( 160, 002, "Seek Item 4", oDlg,{|| oTree:TreeSeek("004")}; ,40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 160, 052, "Enable" , oDlg,{|| oTree:SetEnable() }; ,40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 160, 102, "Disable" , oDlg,{|| oTree:SetDisable() }; ,40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 160, 152, "Novo Item", oDlg,{|| TreeNewIt() }; ,40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 172,02,"Dados do item", oDlg,{|| ; Alert("Cargo: "+oTree:GetCargo()+chr(13)+"Texto: "+oTree:GetPrompt(.T.)) },; 40,10,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 172, 052, "Muda Texto", oDlg,{|| ; oTree:ChangePrompt("Novo Texto Item 001","001") },; 40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 172, 102, "Muda Imagem", oDlg,{||; oTree:ChangeBmp("LBNO","LBTIK",,,"001") },; 40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) TButton():New( 172, 152, "Apaga Item", oDlg,{|| ; if(oTree:TreeSeek("006"),oTree:DelItem(),) },; 40,010,,,.F.,.T.,.F.,,.F.,,,.F. ) // Indica o término da contrução da Tree oTree:EndTree() ACTIVATE DIALOG oDlg CENTERED Return //---------------------------------------- // Função auxiliar para inserção de item //---------------------------------------- Static Function TreeNewIt() // Cria novo item na Tree oTree:AddTreeItem("Novo Item","FOLDER7",,"006") if oTree:TreeSeek("006") oTree:AddItem("Sub-nivel 01","007", "FOLDER6",,,,2) oTree:AddItem("Sub-nivel 02","008", "FOLDER6",,,,2) endif Return |
Você pode se interessar

Como planejar e construir um projeto de programação
Carlos L. A. da Silva - 19 de abril de 2021O desenvolvedor full stack Peter Lynch revela seu método de preparação para qualquer projeto, de forma simples e direta para iniciantes e veteranos.

15 ferramentas de desenvolvimento para melhorar sua produtividade em 2021 sem gastar nada
Carlos L. A. da Silva - 2 de abril de 2021O cenário de desenvolvimento está em constante mudança e muitas vezes uma ferramenta nova pode agilizar muito seu trabalho.

A tecnologia por trás do deep fake de Deep Nostalgia
Carlos L. A. da Silva - 22 de março de 2021Serviço do My Heritage permite "animar" fotos do passado, trazendo vida para seus antepassados. Como isso é possível?
One Response
Deixe um Comentário
Mais publicações


Quanto ganha um programador? Confira uma das maiores pesquisas salariais realizadas no Brasil
Redação - 23 de fevereiro de 2021

Ola! Achei bom o site..
Testei o exemplo da class DbTree. Deu erro dizendo Class DbTree invalido.
Testei 5 exemplo do DbTree. Deu a mesmo erro.
Acho que nessas nova atualizações, não tem suporto a class DbTree.
obrigado!