Nicht nur du ;)^^
Am 18.08.2010 13:20 Uhr schrieb "Stefan Sicurella" unter <[email protected]>: > 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 >>> <[email protected]>: >>> >>>> 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 >> >> >> >> > >
