przez Cyfrowy Baron » Å›roda, 1 października 2008, 10:04
Oczywiście, że tak można, to dla mnie nic nowego, ale mamy tutaj sytuację zupełnie inną niż w przypadku funkcji ItemAtPos, gdyż pobranie numeru Indeksu powoduje jednoczesne zaznaczenie pozycji na liście, nie wywołuje to zdarzenia OnClick dlatego, że zaznaczenie (Selected) nie jest równoznaczne ze zdarzeniem gdyż nie jest wywołane przez kliknięcie myszką, lecz poprzez kod, podobnie będzie z innymi obiektami.
Możesz nieco usprawnić kod, wystarczy, że po zaznaczeniu i pobraniu wartości do właściwości Hint ustawisz właściwość TreeView1->Selected = -1; w ten sposób zostanie pobrana i wyświetlona właściwość Hint tak jak oczekujesz, ale zaznaczenie zostanie usunięte a cała operacja zaznaczania i usuwania zaznaczenia nie będzie widoczna. Takie rozwiązanie jest o tyle wygodne, że jeżeli przed pobraniem Hint masz zaznaczoną jakąś pozycję na TreeView to możesz ją pobrać do zmiennej i zapamiętać, potem pobrać wartość pozycji wskazywanej przez wskaźnik zaznaczając inną pozycję, pobrać wartość do Hint i przywrócić zaznaczenie ze zmiennej która zapamiętała pierwotną wartość.