Reymundo, no seria muy dificil implementarlo
hay dos formas,
***************************************************************************************************************
1.-
modificar en ttreeview.prg
en la definicion del metodo agregar el parametro lCheckBoxes
METHOD ReDefine( nId, oWnd, nClrFore, nClrBack, lDesign, cMsg, lCheckBoxes ) CONSTRUCTOR
y que el cuerpo del metodo que quede de la siguiente forma
METHOD ReDefine( nId, oWnd, nClrFore, nClrBack, lDesign, cMsg, lCheckBoxes ) CLASS TTreeView
DEFAULT oWnd := GetWndDefault(),;
nClrFore := oWnd:nClrText,;
nClrBack := oWnd:nClrPane,; // GetSysColor( COLOR_WINDOW ),;
lDesign := .f.,;
lCheckBoxes := .F.
::nId = nId
::oWnd = oWnd
::aItems = {}
::nClrText = nClrFore
::nClrPane = nClrBack
::Register( nOR( CS_VREDRAW, CS_HREDRAW, TVS_HASBUTTONS, TVS_HASLINES, TVS_LINESATROOT, If( lCheckBoxes, TVS_CHECKBOXES, 0 ) ) )
oWnd:DefControl( Self )
return Self
Ejemplo
local oDlg, oTree
...
define dialog oDlg name "mydialog" of ...
...
oTree := ReDefine( 101, oDlg, CLR_BLACK, CLR_WHITE, FALSE, "My Treeview", .t. )
...
***************************************************************************************************************
2.- en tu codigo redefine normal
Ejemplo
#define TVS_CHECKBOXES 256
..
local oDlg, oTree
...
define dialog oDlg name "mydialog" of ...
...
oTree := ReDefine( 101, oDlg, CLR_BLACK, CLR_WHITE, FALSE, "My Treeview")
oTree:nStyle := nOr( oTree:nStyle, TVS_CHECKBOXES )
...
en esta forma no modificas los fuentes de fwh,
ademas puedes hacer la prueba de agregar el estilo en el editor de recursos cuando definas el control, esta seria una tercera opcion.