I'd like use the treeview class of Fwh .
Until now I used another class of Goran Savckic.

I have these fields FrN1, FrN2, FrN3, FrN4 y Frn5
(1,0,0,0,0)
路路路(1,1,0,0,0)
路路路路路路(1,1,1,0,0)
路路路路路路(1,1,2,0,0)
路路路(1,2,0,0,0)
I have some problem to converte the funcs to use fwh treeview.
on init old app I have :
聽 聽 聽 聽 聽 @ 0, nSplit+2 TREE oApp():oGrid OF oApp():oDlg ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 SIZE (oApp():oDlg:nWidth())/2, (oApp():oDlg:nHeight()-22)/2 PIXEL 聽 聽;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 BITMAPS { "SH_PCLAVE","SH_MATERIA"} 聽;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 FONT oApp():oFont 聽 聽 聽 聽 聽 聽 聽 聽;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 TREE STYLE nOr( TVS_HASLINES, TVS_HASBUTTONS ) ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽ON DBLCLICK FrClickTree(oApp():oGrid) 聽 ;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽ON CHANGE ( oLink 聽 聽:= oApp():oGrid:GetLinkAt( oApp():oGrid:GetCursel() ) ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽xPrompt 聽:= oLink:TreeItem:cPrompt 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 FR->(DbSetOrder(2)) 聽 聽 聽 聽 聽 聽 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 FR->(DbSeek(UPPER(xPrompt))) 聽 聽 聽 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 FR->(DbSetOrder(1)) 聽 聽 聽 聽 聽 聽 聽 聽 ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽RefreshCont(oCont,"FR") )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 FrTreeLoad(oApp():oGrid)
STATIC function FrTreeLoad( oTree )
聽 聽local oDatabase
聽 聽local nStep
聽 聽local oLink
聽 聽local oLink1, oLink2, oLink3, oLink4, oLink5
聽 聽local N1 := 0
聽 聽local N2 := 0
聽 聽local N3 := 0
聽 聽local N4 := 0
聽 聽// oTree:bRClicked = {|nRow,nCol| 聽MenuTree(oTree,nRow,nCol)}
聽 聽oLink := oTree:GetRoot()
聽 聽SELECT FR
聽 聽FR->(DbGoTop())
聽 聽DO WHILE ! FR->(EOF())
聽 聽 聽 if FR->FrN2 == 0
聽 聽 聽 聽 聽oLink1 := oLink:AddLastChild(FR->FrTipo,Iif(FR->FrHoja,1,2),Iif(FR->FrHoja,1,2),.t.)
聽 聽 聽 聽 聽oLink1:Cargo := Str(FR->Frn1,2)+Str(FR->Frn2,2)+Str(FR->Frn3,2)+Str(FR->Frn4,2)+Str(FR->Frn5,2)
聽 聽 聽 elseif FR->FrN3 == 0
聽 聽 聽 聽 聽oLink2 := olink1:AddLastChild(FR->FrTipo,Iif(FR->FrHoja,1,2),Iif(FR->FrHoja,1,2),.t.)
聽 聽 聽 聽 聽oLink2:Cargo := Str(FR->Frn1,2)+Str(FR->Frn2,2)+Str(FR->Frn3,2)+Str(FR->Frn4,2)+Str(FR->Frn5,2)
聽 聽 聽 elseif FR->FrN4 == 0
聽 聽 聽 聽 聽oLink3 := olink2:AddLastChild(FR->FrTipo,Iif(FR->FrHoja,1,2),Iif(FR->FrHoja,1,2),.t.)
聽 聽 聽 聽 聽oLink3:Cargo := Str(FR->Frn1,2)+Str(FR->Frn2,2)+Str(FR->Frn3,2)+Str(FR->Frn4,2)+Str(FR->Frn5,2)
聽 聽 聽 elseif FR->FrN5 == 0
聽 聽 聽 聽 聽oLink4 := olink3:AddLastChild(FR->FrTipo,Iif(FR->FrHoja,1,2),Iif(FR->FrHoja,1,2),.t.)
聽 聽 聽 聽 聽oLink4:Cargo := Str(FR->Frn1,2)+Str(FR->Frn2,2)+Str(FR->Frn3,2)+Str(FR->Frn4,2)+Str(FR->Frn5,2)
聽 聽 聽 else
聽 聽 聽 聽 聽oLink5:= oLink4:AddLastChild(FR->FrTipo,Iif(FR->FrHoja,1,2),Iif(FR->FrHoja,1,2),.t.)
聽 聽 聽 聽 聽oLink5:Cargo := Str(FR->Frn1,2)+Str(FR->Frn2,2)+Str(FR->Frn3,2)+Str(FR->Frn4,2)+Str(FR->Frn5,2)
聽 聽 聽 endif
聽 聽 聽 FR->(DbSkip())
聽 聽ENDDO
oTree:UpdateTV()
oTree:SetFocus()
return nilSomeone can help me please
I use : FiveWin for Harbour March-April 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com