22.08.2013 Views

Visual Basic 6 Kurs

Visual Basic 6 Kurs

Visual Basic 6 Kurs

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!