Tree com checkbox

Post Reply
oliveiros junior
Posts: 84
Joined: Tue Mar 20, 2007 3:13 pm

Tree com checkbox

Post by oliveiros junior »

Bom dia a todos,

Necessito de ajuda para saber se é possível criar um tree com checkbox e inabilitar click sobre ele. Explico melhor, com o tree com checkbox montado, criei uma função que utiliza o OnClick para chamá-la ( exemplo do testtre5.prg ), porém utilizo a seleção do texto para fazer críticas. Assim pergunto: É possível inibir o click sobre o checkbox, mesmo mantendo ele visível?

Obrigado!

Oliveiros Junior
User avatar
armando.lagunas
Posts: 340
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile
Contact:

Re: Tree com checkbox

Post by armando.lagunas »

algo asi??

Image


..fw\samples\testtre5.prg

Code: Select all

// Using a TreeView with checkboxes and checking their status

#include "FiveWin.ch"

function Main()

   local oDlg, oTree

   DEFINE DIALOG oDlg

      oTree = TTreeView():New( 0, 0, oDlg,,,,,200,200,,.t.)

      oTree:OnClick = { || CheckStatus( oTree, oTree:aItems ) }

   ACTIVATE DIALOG oDlg CENTERED ON INIT BuildTree( oTree )

return nil 

function BuildTree( oTree ) 

   local oMenu := Array( 2 ), oSubMenu := Array( 3 ) 

   oMenu[ 1 ]:= oTree:Add( "Principal" ) 
      oSubMenu[ 1 ]:= oMenu[ 1 ]:Add( "Imprimir..." )
      oSubMenu[ 1 ]:SetCheck( .T. ) 

   oMenu[ 2 ]:= oTree:Add( "Proyectos" ) 
      oSubMenu[ 2 ]:= oMenu[ 2 ]:Add( "Definir Proyectos" ) 
      oSubmenu[ 3 ]:= oMenu[ 2 ]:Add( "Actualización datos" ) 

   oTree:Expand() 

return nil 

function CheckStatus( oTree, aItems )

   local n
   
   for n = 1 to Len( aItems )
      MsgInfo( oTree:GetCheck( aItems[ n ] ) )
      CheckStatus( oTree, aItems[ n ]:aItems )
   next
   
return nil    
 
oliveiros junior
Posts: 84
Joined: Tue Mar 20, 2007 3:13 pm

Re: Tree com checkbox

Post by oliveiros junior »

Olá Armando,

Obrigado pela resposta. Era quase isso. Depois da tree montada, gostaria de inibir o clique sobre o Checkbox. A marcação do checkbox seria realizada por função, com a opção oTree:SetCheck( oTree:aItems[ nItem ], .T. ).

Att.,

Oliveiros Junior
Post Reply