Visual Basic 6 Kurs
Visual Basic 6 Kurs
Visual Basic 6 Kurs
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
y obliczamy przez podzielenie y przez 15 ( zamieniamy twipsy na pixele, następnie<br />
odejmujemy reszte z dzielenia przez 17 i całość dzielimy przez 17. Otrzymamy dzięki<br />
temu liczbe całkowitą która informuje nas o numerze elementu który został kliknięty.<br />
Można także zrobić zaznaczanie elementów dodając MouseDown, będzie to wyglądało<br />
efektywniej. Opisany powyżej kod musi zostać poprawiony, nie będzie on działał<br />
prawidłowo jeżeli klikniemy w miejscu np. 6 elementu a w liście będzie ich tylko 4, pod<br />
obliczeniem y dopisujemy:<br />
If ListView1.ListItems.Count >= y Then<br />
ListView1.ListItems(y).Selected = True<br />
End If<br />
Kod powinien działać poprawnie... jednak tak nie jest, nie zostało jeszcze uwzględnione<br />
to, ile wierszy jest uwzględnione. Pozycja y nie zwróci nam indexu wiersza tylko jedno z<br />
miejsc z listy na które klikneliśmy, a co jeżeli pewna część elementów będzie<br />
niewodoczna (lista będzie przewinięta suwakiem w dół) ? W takim wypadku zaznaczony<br />
element nie będzie prawidłowy, trzeba napisać do tego poprawke uwzględniającą<br />
przewinięte kolumny:<br />
Private Sub ListView1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As<br />
Single)<br />
y = (y / 15 - (y / 15 Mod 17)) / 17<br />
Nazwa = ListView1.GetFirstVisible<br />
Dim A As Long<br />
Do While A < ListView1.ListItems.Count<br />
A = A + 1<br />
If Nazwa = ListView1.ListItems(A).Text Then GoTo Koniec<br />
Loop<br />
Koniec:<br />
y = y + A - 1<br />
If ListView1.ListItems.Count >= y Then<br />
ListView1.ListItems(y).Selected = True<br />
End If<br />
End Sub<br />
Oczywiście to nie ma mniejszego sensu gdy wartości z ListItems nie są pozycjami<br />
kluczami (powtarza się np. dwa razy ten sam tekst).<br />
Na stronie kursu:<br />
http://visual.basic.kaem.forall.pl/<br />
Można znaleść przykłady do tej lekcji (3)<br />
30. TreeView<br />
http://visual.basic.kaem.forall.pl/<br />
TreeView pozwala wyświetlać listę obiektów w postaci drzewa:<br />
43