Problem ze skrótami klawiszowymi

0

Jako, że jestem początkujący proszę o pomoc. Mój problem polega na tym aby program obsługiwał skróty klawiszowe. Skróty klawiszowe typu CTRL + A - zaznacza wszystko, CTRC + C - kopiuje itd. Z góry dziękuję.

0

wiesz co to inspektor obiektów i podstawowe słowa z j. ang ?

1
Hydrant napisał(a)

Mój problem polega na tym aby program obsługiwał skróty klawiszowe.

Mało precyzyjnie zadajesz pytania; Skróty klawiszowe można obsługiwać na wiele sposobów i w wielu mniejscach je definiować; Wszystko zależy od tego, czy te skróty ma obsługiwać formularz, czy kontrolki; Jeżeli kontrolki to też trzeba patrzyć na to, czy istnieją do tego celu specjalne właściwości, czy nie; Tak jak to ma miejsce np. w kontrolce z klasy TMainMenu, gdzie poszczególnym pozycjom w tym menu można nadać skrót klawiszowy odpowiednio wpisując go do właściwości Shortcut; Niestety mało komponentów ma taką właściwość;

Jeżeli np. chcesz skrótami klawiszowymi obsługiwać jakiś komponent, który nie posiada wewnętrznej ich obsługi, możesz sprzężyć go z TPopupMenu, w którym ustalisz te skróty i nie będziesz musisał ręcznie ich oprogramowywać; Wystarczy, że odpowiednio będziesz przestawiał właściwość Enabled w pozycjach, które mają być zablokowane w danej sytuacji; Proste rozwiązanie i mniej czasochłonne;

Oczywiście można też zarządzać skrótami klawiszowymi z poziomu zdarzenia OnKeyDown zarówno formularza jak i konkretnych kontrolek, ale musisz wtedy ręcznie sprawdzać wszystkie możliwości, jakie trzeba będzie obsłużyć; W każdym razie w tym zdarzeniu masz kilka argumentów, które przechowują kod klawisza oraz stan wciśniętych dodatkowych klawiszy takich jak np. Shift, Alt czy Ctrl; Więc jeżeli będziesz chciał obsłużyć w tym zdarzeniu skrót Ctrl+A, będziesz musisał sprawdzić, czy kod klawisza a argumencie Key jest równy literze A, a także czy parametr ShiftState przechowuje wciśnięty Ctrl;

Możliwości jest wiele, ale trzeba wiedzieć dokładnie co chcesz osiągnąć żeby napisać więcej; Podaj więcej szczegółów to dostaniesz bardziej konkretną odpowiedź;

0

Już rozwiązałem swój problem, dzięki za pomoc. ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0