Używam aplikacji Delphi XE7 VCL na Windows 7.Dlaczego funkcja TEdit.OnChange jest uruchamiana po naciśnięciu klawisza Ctrl + A?
Zauważyłem, że zdarzenie TEdit.OnChange
wyzwala gdy Ctrl + A (zaznacz wszystko) jest wciśnięty. Dlaczego?
Muszę niezawodnie wywołać zdarzenie OnChange
tylko wtedy, gdy tekst w TEdit
naprawdę się zmienia. Niestety nie jest dostępne zdarzenie OnBeforeChange
, więc mogę porównać tekst przed zmianą i po niej.
Jak wdrożyć niezawodne wydarzenie OnChange
dla TEdit
?
Czy to jest VCL czy FMX? –
Dlaczego ma znaczenie, czy OnChange strzela? Być może istnieje bardziej eleganckie rozwiązanie? –
@J ... - Być może, ale fakt, że OnChange uruchamia się, gdy nie ma faktycznej zmiany, jest wystarczająco interesujący :) Powód: W OnChange nawet tworzę i przypisuję unikalny identyfikator do pliku wprowadzonego przez użytkownika w polu edycji . Jeśli zdarzenie zostanie uruchomione więcej niż raz, generowany jest więcej niż jeden identyfikator i nie chcę tego. Ale jak powiedziałeś, mogę zmienić projekt, aby obejść ten brzydki OnChange. – Ampere