Super, danke.. RowFormXY hab ich wohl zuvor übersehen
Gruß Stefan > Oh, das geht aber viel einfacher. Und außerdem hast Du (Michael) außer Acht > gelassen, dass die ListBox evtl. noch einen Header besitzt... > > Die ListBox-Klasse hat eine Funktion "RowFromXY ( X As Integer, Y As Integer > ) As Integer". D. h. im MouseMove-Event brauchst Du (Stefan) nur folgendes > einzutragen: > > me.ListIndex = me.RowFromXY(x,y) > > Die ListIndex-Eigenschaft setzt auch gleich die Markierung aller anderen > Zeilen zurück und löst den Change-Event aus. Nur wenn Du definitiv keinen > Change-Event haben willst, kannst Du die Methode von Michael verwenden – mit > dem Unterschied, dass Du die "RowFromXY" Methode verwendest, anstatt die > aktuelle Zeile mit Hilfe der "RowHeight" zu errechnen. Dazu müsstest Du dann > die letzten drei Zeilen in Michaels Beispiel ersetzen durch: > > dim i as Integer = me.RowFromXY(x,y) > me.selected( i ) = true > > "selected" stört es nämlich nicht, wenn Du ihm einen Wert < 0 oder >= > ListCount übergibst. Also ist die if-Abfrage hier überflüssig. > > > Am 17.08.2010 um 14:35 schrieb Michael Köhler: > >> Mit Hilfe der Mathematik. Einen anderen Weg kenne ich leider nicht. Du >> kennst ja die Höhe deiner Zeilen (RowHeigh) und über MouseMove der Listbox >> weist du wo die Maus in der Listbox ist. Dann kannst du dir ausrechnen über >> welcher Zeile die Mouse steht. >> Ich würde etwa folgendes ins MouseMove-Event schreiben >> >> Dim i As Integer >> >> For i=0 To me.ListCount-1 >> me.Selected(i)=false 'alle Zeile deselektieren >> Next >> >> i=y/me.RowHeight 'Zeile ermitteln über der die Mouse grade ist >> >> If i > 0 AND i < me.ListCount Then >> me.selected(i)=True 'Zeile selektieren über der die Mouse grade ist >> End >> >> Grüße Michael >> >> Am 17.08.2010 11:52 Uhr schrieb "Stefan Sicurella" unter >> <sicure...@onlymac.de>: >> >>> Hi, >>> >>> ich möchte, dass die Zeile einer Listbox als selektiert markiert ist wenn >>> die >>> Maus darüber ist und die selektierte Zeile dann auch quasi der Maus folgt. >>> >>> wie bekomme ich heraus über welcher row die Maus gerade steht? >>> >>> >>> Gruß >>> >>> >>> Stefan >>> >>> >> >> >> > > Gruß > Christian > > > >