Potrzebuję zaimplementować w standardowych kontrolkach (głównie TMemo i TEdit/TLabeledEdit) usuwanie poprzedniego wyrazu za pomocą kombinacji Ctrl + BkSp tak, jak ma to miejsce np. w edytorze kodu w Delphi 7;
Kombinowałem już ze zdarzeniami OnKeyDown, OnKeyUp i OnKeyPress zarówno kontrolki jak i formularza, z włączonym i wyłączonym KeyPreview formularza rodzica, niestety bez powodzenia; Bez względu na powyższe ustawienia w danej kontrolce i tak zostaje wpisany kwadracik, mimo zerowania argumentu Key we wszystkich zdarzeniach; Próbowałem także wykorzystać prywatną zmienną typu Boolean - ustawiałem na True w zdarzeniu OnKeyDown jeśli ssCtrl został wciśnięty (ssCtrl in Shift), oraz na False w OnKeyUp gdy został puszczony (ssCtrl in Shift) po to, bym mógł sprawdzić stan tego specialnego klawisza w zdarzeniu OnKeyPress, jednak także bez powodzenia; Niestety zawsze, gdy wykombinuję Ctrl + BkSp do kontrolki zostaje wpisany kwadracik;
Pośrednio można to rozwiązać przez dodanie do menu głównego nową pozycję typu Usuń poprzedni wyraz i ustawiając jej HotKey na Ctrl+BkSp, jednak wolałbym tego nie robić (choć w ostateczności przymknę okno); W każdym formularzu, gdzie istnieją kontrolki klas TMemo czy TEdit/TLabeledEdit zarówno w menu głownych jak i kontekstowych jest odpowiednia sekcja Edycja i mógłbym tam dodać taką pozycję, jednak wolałbym te menu pozostawić bez zmian, gdyż ich rozbudowa zahaczałaby pod modyfikację własnych paczek ikon i większe przeróbki; To oczywiście nie jest żaden problem, ale takie modyfikacje pochłaniają czas, który wolałbym przeznaczyć na rozbudowę innych elementów programu;
W sieci znalazłem mnóstwo artykułów na temat blokowania klawiszy VK_BACK czy VK_DELETE (co już stosowałem dawno temu), ale w połączeniu z Ctrl nie sprawdzą się;
To ile znaków i dokąd odbędzie się usuwanie jeszcze nie określiłem dokładnie, na razie testowałem z usuwaniem ciągu znaków do znaku ' ' (spacji), ale nie udało się;
Czy ktokolwiek wie w jaki sposób można osiągnąć taki efekt? Jak usunąć poprzedni wyraz do jakiegokolwiek znaku? Będę bardzo wdzięczny za wskazówki;