Rubrik: Controls · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 23.04.04 |
ScrollToolTip im sevDataGrid anpassen Dieser Tipp zeigt, wie sich beim sevDataGrid-Control der ToolTip beim Scrollen immer für die Spalte angezeigt wird, nach der aktuell sortiert ist. | ||
Autor: Michael Dollinger | Bewertung: | Views: 9.944 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Beim Scrollen über den vertikalen Scrollbalken im sevDataGrid-Control lässt sich an der aktuellen Mausposition ein ToolTip anzeigen, der die aktuelle Position wiedergibt. Standardmäßig wird als ToolTip immer die Zeilennummer ausgegeben.
Nachfolgender Code bewirkt, dass der ScrollToolTipText immer:
- für die Spalte, nach der sortiert ist, wenn sichtbar
- ansonsten für die Spalte "sToolTipColDefault", wenn angegeben
- ansonsten für die Spalte 1
Private Sub Grid1_StartScrollBarMove( _ nToolTipCol As Long, nToolTipWidth As Long) ' Spalte für ToolTip-Anzeige setzen ScrollToolTipNachSortierung Grid1, nToolTipCol, _ nToolTipWidth, 2 End Sub
Public Sub ScrollToolTipNachSortierung( _ SortierGrid As Control, _ sToolTipCol As Long, _ sToolTipWidth As Long, _ Optional sToolTipColDefault As Integer = 1) With SortierGrid ' zunächst Spalte auf Defaultspalte setzen sToolTipCol = sToolTipColDefault ' alle Spalten durchlaufen For i = 1 To .Cols ' Wird nach dieser Spalte sortiert? If .Columns(i).SortDesc <> SORT_NONE Then ' Ist die Spalte sichtbar? If .Columns(i).Visible = True Then ' Sortierspalte übernehmen sToolTipCol = i Exit For End If End If Next i ' Breite des ToolTips an die Spaltenbreite anpassen sToolTipWidth = .Columns(sToolTipCol).Width / Screen.TwipsPerPixelX End With End Sub