Page 1 of 1
TreeView desde codigo
Posted: Sun Jun 11, 2006 3:17 am
by jllinas
Hola,
¿Es que la clase TreeView se puede utilizar desde codigo en un dialogo? En SAMPLES\TREEVIEW.PRG solo aparece desde recursos, y cuando lo incluyo desde codigo me da el clásico error "Cannot Create Dialog..."
¿Alguien tiene un ejemplo que comparta conmigo?
Gracias anticipadas,
Posted: Mon Jun 12, 2006 9:27 am
by Antonio Linares
Julio,
Tienes que añadir este método a la clase TTreeView en source\classes\ttreevie.prg:
Code: Select all
METHOD cToChar() INLINE Super:cToChar( CTRL_NAME )
Y si añades este comando a FiveWin.ch:
Code: Select all
#xcommand @ <nRow>, <nCol> TREEVIEW [<oTV>] ;
[ SIZE <nWidth>, <nHeight> ] ;
[ <of: OF, WINDOW, DIALOG> <oWnd> ] ;
[ <design: DESIGN> ] ;
[ <pixel: PIXEL> ] ;
[ COLOR <nClrFore> [,<nClrBack>] ] ;
[ MESSAGE <cMsg> ] ;
=> ;
[ <oTV> := ] TTreeView():New( <nRow>, <nCol>, <oWnd>, <nClrFore>, <nClrBack>,;
[<.pixel.>], [<.design.>], <nWidth>, <nHeight>,;
[<cMsg>] )
Entonces puedes probar este ejemplo:
Code: Select all
#include "FiveWin.ch"
#include "WColors.ch"
function Main()
local oDlg, oTree
DEFINE DIALOG oDlg TITLE "TreeView from source"
@ 0.5, 1 TREEVIEW oTree OF oDlg SIZE 80, 60 COLOR 0, GetSysColor( COLOR_WINDOW )
ACTIVATE DIALOG oDlg CENTERED ;
ON INIT AddItems( oTree )
return nil
function AddItems( oTree )
local oItem1, oItem2, oItem3
oItem1 = oTree:Add( "First" )
oItem1:Add( "One" )
oItem1:Add( "Two" )
oItem1:Add( "Three" )
oItem2 = oTree:Add( "Second" )
oItem2:Add( "Hello" )
oItem2:Add( "World" )
oItem3 = oTree:Add( "Third" )
oItem3:Add( "Last" )
oItem3:Add( "item" )
return nil
Que se ve así:
Posted: Tue Jun 13, 2006 9:00 pm
by jllinas
Gracias Antonio,
Funcionó de maravillas. Solo cambié COLOR_WINDOW por 15, y me funcionó bien.
Gracias de nuevo...