>>this.object.nodeclick(this.object.selectednode)
>
>No such thing as SelectedNode. It's SelectedItem... Something needs to be
>selected too - if not it should return NULL.
OK, I've answered this and fixed most of the misbehavior, but there's still one thing which doesn't work.
In the TVw's MouseMove event, I use the HitTest to find the node under the mouse. Here's the relevant part:
LPARAMETERS button, shift, x, y
Local oRef, msg, _rc
oRef=This.HitTest(x*15,y*15)
if isnull(oRef) or empty(oRef) or type(oRef)#"O"
This worked fine with previous version; I've had to add the "or empty(oRef) or type(oRef)#"O"" part just to avoid funny cases when it returns empty string from HitTest (yes I know it should be .null., but that's what I see in the debugger). Sometimes, when I access the lowest node, it breaks with "array out of bounds" or something like that - the message doesn't come from VFP, or at least looks so - and the values for x, y are just normal, something like 34 and 73 or so. There's empty space below this last node - the tree doesn't fill its area completely (why should it).
I've tried "oRef=This.Object.HitTest(x*15,y*15)", but that was even worse.
C'mon, TreeView gurus, what's so different in this version? Did it start to matter that I use foxels? Didn't matter so far.