Hi, The issue with this problem is that the data is needed through the 'On Mouse Move' event which does not update the LISTBOX GET CELL POSITION command.
Instead you can create a method to get this information similarly to the methods described in the following Tech Tips: http://kb.4d.com/assetid=77135 http://kb.4d.com/assetid=77119 The topic interested me and I created the method posted at the end which may help you. What I did was similar to the method described in the tech tip mentioned but instead utilized the LISTBOX GET CELL COORDINATES to determine which row is the mouse positioned over and more importantly figure out which rows are collapsed using the for loops. Hopefully this helps. // Util_LISTBOX_GET_MOUSE_HIER // // Details: // Returns the element details of a row // which has been hovered by the mouse cursor // // Parameters: // $1 - Pointer to Hierarchical List Box // Output: // $2 - Pointer To Pointer to Receive Pointer to Specific Array and Element // $3 - Pointer To Longint to Receive Column Number (aka Hier Array Level) // $4 - Pointer To Longint to Receive Row Number (aka Array Element) C_POINTER($1;$lbPtr) C_POINTER($2;$resElem_p) C_POINTER($3) C_LONGINT($resCol_l) C_POINTER($4) C_LONGINT($resRow_l) If (Count parameters>1) ARRAY POINTER($hierVar_ap;0) C_BOOLEAN($heir_B) C_LONGINT($rowCount_l) C_LONGINT($colCount_l) C_LONGINT($mX;$mY;$mB) C_LONGINT($lbBTrack) C_LONGINT($rowStart_l) C_LONGINT($lbL;$lbT;$lbR;$lbB) C_LONGINT($tblNum;$fldNum) C_TEXT($varName) C_TEXT($fomula_t) $lbPtr:=$1 $rowCount_l:=LISTBOX Get number of rows($lbPtr->) LISTBOX GET HIERARCHY($lbPtr->;$hier_B;$hierVar_ap) If($hier_B=True) $colCount_l:=Size of array($hierVar_ap) GET MOUSE($mX;$mY;$mB) $resRow_l:=1 $resCol_l:=1 $lbTrack:=0 $rowStart_l:=1 For ($col_l;1;$colCount_l) $lbBTrack:=0 For ($row_l;$rowStart_l;$rowCount_l) LISTBOX GET CELL COORDINATES($lbPtr->;$col_l;$row_l;$lbL;$lbT;$lbR;$lbB) Case of : (($mY>$lbT) & ($mY<$lbB)) $resRow_l:=$row_l $resCol_l:=$col_l RESOLVE POINTER($hierVar_ap{$col_l};$varName;$tblNum;$fldNum) $fomula_t:="$resElem_p:=->"+$varName+"{"+String($row_l)+}" EXECUTE FORMULA($fomula_t) $col_l:=$colCount_l $row_l:=$rowCount_l : ($mY>$lbB) If ($lbB>$lbBTrack) $lbBTrack:=$lbB $rowStart_l:=$row_l End if : ($mY<$lbT) $row_l:=$rowCount_l End case End for End for $2->:=$resElem_p If(Count parameters>2) $3->:=$resCol_l $4->:=$resRow_l End if End if End if //End Method Best Regards, -Tai B. ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

