FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TREE
Posts: 3
Joined: Tue Mar 31, 2015 08:44 PM
TREE
Posted: Fri Jul 17, 2015 05:26 PM

Saudações a todos.

Esta é minha primeira participação neste forum, e espero poder
contar com a ajuda dos colegas e também poder ajudar quando
meus conhecimentos assim o permitirem.

No momento gostaria de saber se é possível a partir de um Objeto Menu ( oMenu )
já criado, gerar um outro Objeto Tree ( oTree ).

Obrigado.
Flavio
FWH 14.04 - xHarbour - Bcc582 - Pelles
Araras, SP, Brasil.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TREE
Posted: Sat Jul 18, 2015 12:08 PM
Flavio,

Bienvenido a estos foros :-)

Aqui tienes una función que hace lo que quieres, a ver si te sirve:

Code (fw): Select all Collapse
function MenuTree( oMenu )

   local oDlg
   
   DEFINE DIALOG oDlg SIZE 200, 300
   
   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT AddItems( oMenu:aMenuItems, TTreeView():New( 1, 2, oDlg,,,,, 180, 250 ) )

return nil

function AddItems( aItems, oItem )

   AEval( aItems, { | oMenuItem, oIt | oIt := oItem:Add( oMenuItem:cPrompt ),;
                If( ValType( oMenuItem:bAction ) == "O",;
                AddItems( oMenuItem:bAction:aItems, oIt ),) } )
   
return nil


Desde tu programa haz MenuTree( oWnd:oMenu )
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3
Joined: Tue Mar 31, 2015 08:44 PM
Re: TREE
Posted: Sat Jul 18, 2015 06:19 PM

Antonio Linares,

É isso mesmo que estou precisando, só fiquei com uma
dúvida:

Como faço para a função retornar o Objeto oTree?

Obrigado.

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: TREE
Posted: Sun Jul 19, 2015 08:58 AM
Code (fw): Select all Collapse
function MenuTree( oMenu )

   local oDlg, oTree
   
   DEFINE DIALOG oDlg SIZE 200, 300
   
   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT AddItems( oMenu:aMenuItems, oTree := TTreeView():New( 1, 2, oDlg,,,,, 180, 250 ) )

return oTree

function AddItems( aItems, oItem )

   AEval( aItems, { | oMenuItem, oIt | oIt := oItem:Add( oMenuItem:cPrompt ),;
                If( ValType( oMenuItem:bAction ) == "O",;
                AddItems( oMenuItem:bAction:aItems, oIt ),) } )
   
return nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 3
Joined: Tue Mar 31, 2015 08:44 PM
Re: TREE
Posted: Mon Jul 20, 2015 03:37 PM

Funcionou perfeitamente.

Muito obrigado

Continue the discussion