Reymundo, no seria muy dificil implementarlo
hay dos formas,
***************************************************************************************************************
1.-
modificar en ttreeview.prg
en la definicion del metodo agregar el parametro lCheckBoxes
- Code: Select all Expand view
METHOD ReDefine( nId, oWnd, nClrFore, nClrBack, lDesign, cMsg, lCheckBoxes ) CONSTRUCTOR
y que el cuerpo del metodo que quede de la siguiente forma
- Code: Select all Expand view
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
- Code: Select all Expand view
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
- Code: Select all Expand view
#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.