Stosując którąś z
metod przechwytywania klawiatury, musimy pamiętać o kilku
podstawowych zasadach. Pierwsza z nich wydaje się być oczywista:
Nie przejmujemy kontroli nad klawiszem, którego będziemy
potrzebować w jego domyślnym działaniu (np. Enter, Backpace).
Wyobraźmy sobie przypadek, w którym przejęliśmy kontrolę nad
klawiszami liter i nadaliśmy im polecenia inne niż pisanie. Jak
teraz wpiszemy swoją odpowiedź w pole edycyjne?
Druga zasada mówi o
tym, że nie musimy używać całej metody i przechwytywać wszystkie
klawisze, na jakie ona pozwala. Przechwytujemy tylko te, które
potrzebujemy. Odchudzi to nasz kod, a i nam zaoszczędzi czasu na
pisanie czegoś niepotrzebnego.
Trzecia zasada, o której
warto pamiętać, dotyczy poprzedniego tematu. Po pierwsze,
deklaracje poszczególnych klawiszy i skrótów mogą być w innej
kolejności, niż my w tym rozdziale zastosowaliśmy. To od nas
zależy. Po drugie, wybierając klawisze i skróty klawiaturowe do
przejęcia, deklarujemy je w nowym porządku, dbając o ciągłość
deklaracji: deklaracja 1, 2, 3 i tak dalej.
Czwarta zasada mówi o
tym, że nic nie stoi na przeszkodzie, aby nie móc połączyć ze
sobą dwie lub wszystkie przedstawione przez nas metody. Możemy to
zrobić, choć musimy zwrócić uwagę na to, aby przechwycone
klawisze nie wpływały na pracę pozostałych metod. Jeżeli na
przykład, przechwycimy klawisz Shift w jednej metodzie, to wszelkie
skróty klawiaturowe z użyciem tego klawisza w drugiej metodzie mogą
być nieaktywne, gdyż jak tylko naciśniemy ten klawisz, wykona się
przypisana do niego procedura.
Warto jeszcze zaznaczyć,
że niektóre metody korzystają z tych samych zdarzeń (np. Form
Create), więc w ich obrębie musimy zawrzeć oba kody, jeden pod
drugim. Musimy je umieścić w bloku głównym zdarzenia, czyli
między pierwszym słowem begin, a ostatnim słowem end.
Zwracamy więc uwagę na to, że łącząc ze sobą dwie metody w tym
obszarze nie piszemy ostatniego słowa end pierwszej metody,
ani pierwszego słowa begin drugiej metody. Oto, jaka jest
najlepsza metoda na ich połączenie: Klikamy prawym przyciskiem
myszy na puste miejsce formy głównej naszego programu i w zakładce
Events (w Inspektorze Obiektów) wybieramy zdarzenie OnCreate.
Podwójnym kliknięciem wstawiamy do kodu deklarację tego zdarzenia.
Zostajemy automatycznie przeniesieni do odpowiadającego jej kodu.
Zauważmy, że zawiera ona już deklarację bloku głównego
begin...end. W jego obręb wpisujemy deklaracje
pierwszej metody (bez początkowego begin i ostatniego end),
a zaraz za nim deklaracje drugiej metody, także bez początkowego
słowa begin i ostatniego słowa end. W tej chwili jest to już jeden
kod do wykonania, choć należący do dwóch różnych metod.
Wszystkie pozostałe
procedury, jakie występują w obu metodach, po kolei wstawiamy do
naszego projektu, wywołując z Inspektora Obiektów potrzebne
zdarzenia, jak chociażby OnKeyDown. Poszczególne procedury
wykonawcze deklarujemy i wypełniamy jedna pod drugą, jak każde
inne procedury. Nie zapominajmy o komentarzach do poszczególnych
deklaracji i procedur. Pomogą nam one rozeznać się w ich gąszczu.
Przedstawione przez nas
metody nie są ani jedyne, ani kompletne. Można je jeszcze nieco
rozszerzyć o nowe klawisze lub skróty klawiaturowe, które można
przechwycić. Warto więc poeksperymentować według zasad
obowiązujących w danej metodzie.
Artykuł pochodzi z mojej książki pt. "Delphi w przykładach dla początkujących". Zapraszam na Stronę książki.
Ciekawe artykuły:
- Zabawy matematyczne w Delphi
- Gry matematyczne w Delphi
- Ucz się na swoich błędach
- Zabawy rozwijające pamięć w Delphi
- AntyNoble - śmieszne badania naukowe
Zapoznaj się z innymi artykułami. Przejdź do zakładki Spis artykułów.
Brak komentarzy:
Prześlij komentarz