How can I make a WebListBox cell show a finger pointer (cursor) on mouse over?

Hi everyone,

I’m working with Xojo Web 1.0 and I have a WebListBox that displays a small PDF icon inside one of the cells. What I’d like to achieve is that when the user moves the mouse over that cell (or the icon), the cursor changes to the “finger pointer” (like it does for a link).

In the WebStyle editor I can’t find an option for setting the mouse cursor.

Here is a Method I wrote to set the cursor for either Desktop or Web. For Web you pass it the existing WebStyle and it adds the cursor:

Protected Sub doCursorSet(myObject As Object, NewCursor As String = "Finger", CurrentStyle As Object = Nil)
  If myObject = Nil Then
    Return
  End If
  
  #If TargetDesktop Then
    If myObject IsA DesktopUIControl Then
      Select Case NewCursor
      Case "ArrowAllDirections"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.ArrowAllDirections
      Case "ArrowEastWest"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.ArrowEastWest
      Case "ArrowNortheastSouthwest"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.ArrowNortheastSouthwest
      Case "ArrowNorthSouth"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.ArrowNorthSouth
      Case "ArrowNorthwestSoutheast"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.ArrowNorthwestSoutheast
      Case "Copy"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.Copy
      Case "Finger", "FingerPointer"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.FingerPointer
      Case "HandClosed"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.HandClosed
      Case "HandOpen"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.HandOpen
      Case "IBeam"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.IBeam
      Case "InvisibleCursor"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.InvisibleCursor
      Case "MagnifyLarger"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.MagnifyLarger
      Case "MagnifySmaller"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.MagnifySmaller
      Case "SplitterEastWest"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.SplitterEastWest
      Case "SplitterNorthSouth"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.SplitterNorthSouth
      Case "StandardPointer"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.StandardPointer
      Case "Wait"
        DesktopUIControl(myObject).MouseCursor = System.Cursors.Wait
        'Case "XXXXXX"
        'DesktopUIControl(myObject).MouseCursor = System.Cursors.XXXXXX
      Case Else
        Break
      End Select
    End If
    
  #ElseIf TargetWeb Then
    Var tempWebStyle As New WebStyle
    Var isWebStyle As Boolean = False
    
    If CurrentStyle <> Nil And CurrentStyle IsA WebStyle Then
      tempWebStyle = WebStyle(CurrentStyle)
      isWebStyle = True
      
    Else
      Break
      Return
    End If
    
    Select Case NewCursor
    Case ""
      'do nothing
    Case "CrossHair"
      tempWebStyle.Cursor = WebStyle.Cursors.Crosshair
    Case "Default"
      tempWebStyle.Cursor = WebStyle.Cursors.Default
    Case "Help"
      tempWebStyle.Cursor = WebStyle.Cursors.Help
    Case "Inherit"
      tempWebStyle.Cursor = WebStyle.Cursors.Inherit
    Case "Move"
      tempWebStyle.Cursor = WebStyle.Cursors.Move
    Case "NoDrop"
      tempWebStyle.Cursor = WebStyle.Cursors.NoDrop
    Case "None"
      tempWebStyle.Cursor = WebStyle.Cursors.None
    Case "NotAllowed"
      tempWebStyle.Cursor = WebStyle.Cursors.NotAllowed
    Case "Pointer", "Finger"
      tempWebStyle.Cursor = WebStyle.Cursors.Pointer
    Case "Progress"
      tempWebStyle.Cursor = WebStyle.Cursors.Progress
    Case "ResizeColumn"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeColumn
    Case "ResizeEast"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeEast
    Case "ResizeNorth"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeNorth
    Case "ResizeNorthEast"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeNorthEast
    Case "ResizeNorthWest"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeNorthWest
    Case "ResizeRow"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeRow
    Case "ResizeSouth"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeSouth
    Case "ResizeSouthEast"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeSouthEast
    Case "ResizeSouthWest"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeSouthWest
    Case "ResizeWest"
      tempWebStyle.Cursor = WebStyle.Cursors.ResizeWest
    Case "Text"
      tempWebStyle.Cursor = WebStyle.Cursors.Text
    Case "VerticalText"
      tempWebStyle.Cursor = WebStyle.Cursors.VerticalText
    Case "Wait"
      tempWebStyle.Cursor = WebStyle.Cursors.Wait
    Case Else
      Break
    End Select
    
    'If myObject IsA WebLabel Then
    'WebLabel(myObject).Style = tempWebStyle
    'ElseIf myObject IsA WebTextField Then
    'WebTextField(myObject).Style = tempWebStyle
    'ElseIf myObject IsA WebTextArea Then
    'WebTextArea(myObject).Style = tempWebStyle
    'ElseIf myObject IsA GraffitiTextField Then
    'Var tempGraffitiStyle As GraffitiStyle = GraffitiStyle.Create(Session, StyleName, GraffitiStyleContent)
    'GraffitiTextField(myObject).FieldStyle = tempGraffitiStyle
    'Else
    'Break
    'End If
    
    If myObject IsA WebUIControl Then
      WebUIControl(myObject).Style = tempWebStyle
    Else
      Break
    End If
    
  #ElseIf TargetiOS Then
    'no cursors with Mobile?
  #Else
    Break
  #EndIf
  
End Sub