piątek, 24 kwietnia 2015

Przechwyt klawiatury w Delphi- podsumowanie

     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.

                                < Wstecz    1...5/5

Artykuł pochodzi z mojej książki pt. "Delphi w przykładach dla początkujących". Zapraszam na Stronę książki.

poradnik programowania Delphi





Brak komentarzy:

Prześlij komentarz

Wspomóż mnie lub zostań moim patronem już od 5 zł - sprawdź szczegóły

Moje e-booki

Kliknij w okładkę, aby przejść do strony książki

Przejdź do strony książki Przejdź do strony książki