>sele treeview >=tableupdate(.t.) >go top >o = thisform.oletreeview.nodes >o.clear > >scan > if alltrim(crelative) == '0' > o.add(,1,alltrim(ckey),alltrim(ctext),0) > else > o.add(alltrim(crelative),4,alltrim(ckey), alltrim(ctext),0) > endif >endscan >>
&& untested code #define TRUE .t. #define FALSE .f. local Success Success = TRUE local s s = select(0) Local obj, LockScreen, TreeviewVisible with m.thisform LockScreen = .LockScreen .LockScreen = TRUE with .oletreeview TreeviewVisible = .Visible .Visible = FALSE with .Nodes =.Clear() select treeview scan all while m.Success obj = null && Just in case do case case inlist(crelative, '0') obj = .add(,1,rtrim(ckey),rtrim(ctext),0) otherwise obj = .add(rtrim(crelative),4,rtrim(ckey), rtrim(ctext),0) endcase do case case !inlist(vartype(m.obj), T_OBJECT) assert FALSE Success = FALSE otherwise with m.obj && .ExpandedImage = ... && .Bold = TRUE && .backColor = ... && .Expanded = TRUE endwith endcase endscan endwith .Visible = m.TreeviewVisible endwith .LockScreen = m.LockScreen endwith select (m.s) return m.Success