Estou querendo usar a classe tTreeView, no exemplo abaixo funciona os SETCHECK mediante execução após clique em um botão.
********************************************************************************
FUNCTION TESTE()
********************************************************************************
LOCAL oTREE, oITEM:= array(50), oSUBITEM:= array(50)
DEFINE DIALOG oDlg RESOURCE "CAD"
oTree := TTreeView():Redefine( 4001, oDlg )
REDEFINE BUTTONBMP oBtn ID 4002 OF oDlg ACTION ATUALIZATREE(oTREE,oITEM,oSUBITEM)
ACTIVATE DIALOG oDlg CENTERED ON INIT MONTATREE(oTREE,oITEM,oSUBITEM)
RETURN NIL
********************************************************************************
FUNCTION MONTATREE(oTREE,oITEM,oSUBITEM)
********************************************************************************
oITEM[01]:= oTREE:ADD( "ITEM1" )
oSUBITEM[01]:=oITEM[01]:ADD( "ITEM1A" )
oSUBITEM[02]:=oITEM[01]:ADD( "ITEM1B" )
oSUBITEM[03]:=oITEM[01]:ADD( "ITEM1C" )
oSUBITEM[04]:=oITEM[01]:ADD( "ITEM1D" )
oITEM[02]:= oTREE:ADD( "ITEM2" )
oSUBITEM[05]:=oITEM[02]:ADD( "ITEM2A" )
oSUBITEM[06]:=oITEM[02]:ADD( "ITEM2B" )
oSUBITEM[07]:=oITEM[02]:ADD( "ITEM2C" )
oSUBITEM[08]:=oITEM[02]:ADD( "ITEM2D" )
oTREE:EXPAND()
RETURN NIL
********************************************************************************
FUNCTION ATUALIZATREE(oTREE,oITEM,oSUBITEM)
********************************************************************************
oITEM[01]:SETCHECK(.T.)
oSUBITEM[01]:SETCHECK(.T.)
oSUBITEM[02]:SETCHECK(.T.)
oSUBITEM[03]:SETCHECK(.T.)
oSUBITEM[04]:SETCHECK(.T.)
oITEM[02]:SETCHECK(.T.)
oSUBITEM[05]:SETCHECK(.T.)
oSUBITEM[06]:SETCHECK(.T.)
oSUBITEM[07]:SETCHECK(.T.)
oSUBITEM[08]:SETCHECK(.T.)
oTree:REFRESH()
RETURN NIL
Mas se eu retirar o botão e automatizar pelo ON INIT como no exemplo abaixo não acontece nada.
********************************************************************************
FUNCTION TESTE()
********************************************************************************
LOCAL oTREE, oITEM:= array(50), oSUBITEM:= array(50)
DEFINE DIALOG oDlg RESOURCE "CAD"
oTree := TTreeView():Redefine( 4001, oDlg )
ACTIVATE DIALOG oDlg CENTERED ON INIT(MONTATREE(oTREE,oITEM,oSUBITEM),ATUALIZATREE(oTREE,oITEM,oSUBITEM))
RETURN NIL
Alguém saberia o porque ?
Agradeço antecipadamente aos que puderem ajudar.