I, (jeszcze raz), starając się wykonać akcję po kliknięciu na pozycji z katalogów patrz:Execute zdarzenie tylko wtedy, gdy węzeł katalogów kliknięciu
procedure TForm1.TreeView1Click(Sender: TObject);
begin
if treeview1.Selected.AbsoluteIndex=1 then
begin
showmessage('selecionado');
end;
end;
Ten kod wyświetla komunikat jeśli użytkownik kliknij na indeks 1 widoku drzewa, Problem jest następujący: Jeśli użytkownik wybierze indeks 1, zostanie wyświetlony komunikat, ale po tym użytkownik kliknie w pustym obszarze listy, wiadomość nadal jest wykonywana, ponieważ element jest wciąż zaznaczony . Jak mogę uruchomić wydarzenie tylko wtedy, gdy użytkownik kliknie odpowiedni element?
Ponadto, trzeba myśleć o klawiaturze. Niektórzy używają tylko klawiatury i myszy. –
@AndreasRejbrand, chciałem użyć zdarzenia "TTreeView.OnChange". Ale nie uruchamia się za pomocą kliknięcia lub naciśnięcia klawiszy. Czy masz jakiś pomysł, dlaczego nie uruchamia tego wydarzenia? – Ugur
Jakieś rozwiązanie na wypadek, gdyby ktoś chciał użyć programu obsługi zdarzeń OnClick zamiast widoku OnChange? – grinner