Ciao a tutti. Ho un listbox con un testo associato ad ogni cella per visualizzare informazioni aggiuntive. Il problema antipatico che riscontro che spesso il box che viene visualizzato quando passo col mouse su una cella non se ne va ed sempre in primo piano, per cui si vede anche se apro un’altra window.
C’ una soluzione?
Grazie.
Nedi
Quale evento hai usato per modificare l’ Helptag ?
Potresti eventualmente postare il codice ?
Ecco il codice che popola il listbox e prepara CellHelpTag:
lbWeek.Cell(row, x) = str
// salvo l'ID del record nel CellTag
lbWeek.CellTag(row, x) = CStr(RS.Field("myID").IntegerValue)
// preparo il ToolTip da visualizzare quando si passa il mouse sulla cella
lbWeek.CellHelpTag(row, x) = "Cliente: " + RS.Field("RagSoc").StringValue + EndOfLine + _
"Targa: " + RS.Field("Targa").StringValue + EndOfLine + _
"Orario: " + Left(str, 11)
dove lbWeek il Listbox, RS il recordset che contiene i dati, x il puntatore della cella.
Grazie Sacha!
Guardando in altri forum, per risolvere il problema utilizzano un textfield oppure una textarea al posto del helptag.
Indicativamente il codice il seguente:
Riempimento della tabella - Evento open di window1
Sub Open() Handles Open
Listbox1.AddRow("test")
Listbox1.AddRow("test2")
End Sub
Evento MouseMove della listbox
Sub MouseMove(X As Integer, Y As Integer) Handles MouseMove
Try
'Array con la descrizione degli HelpTag
Dim TagArray(10,10) as string
TagArray(0,1) = "Colonna0 - Riga1"
TagArray(1,0) = "Colonna1 - Riga0"
TagArray(1,1) = "Colonna1 - Riga1"
TagArray(0,0) = "Colonna0 - Riga0"
Textfield1.top = listbox1.top + y + 5
Textfield1.left= listbox1.left + x + 5
If Tagarray(CellTagColumn,CellTagRow) <> "" then
TextField1.text = Tagarray(Me.ColumnFromXY(x, y),Me.RowFromXY(x, y))
textfield1.Visible = true
else
textfield1.Visible = false
end if
catch
end try
End Sub
Evento MouseExit della listbox
Sub MouseExit() Handles MouseExit
try
textfield1.Visible = false
catch
end try
End Sub
In questo esempio non gestita la disattivazione del tag quando il cursore si trova sulla barra superiore oppure dove non sono presenti le celle.
Grazie Sacha! Vista la macchinosit della soluzione direi che non ne vale la pena, anche perch linconveniente non si verifica sempre.
Grazie ancora.
L’ inconveniente capita quando il puntatore esce dalla finestra della listbox passando sopra l’ helptag.