Начало нового приложения VCL, падение TEdit
на форме и назначить это OnKeyPress
событие:Есть ли способ остановить раздражающее поколение события OnKeyPress с управляющими символами, когда нажата комбинация клавиш Ctrl + «some key»?
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Caption:=Caption+' '+IntToStr(Ord(Key));
end;
При запуске приложения и нажмите, например, Ctrl + M или Ctrl + H вы получите контроль символы # 13 (Enter) и # 8 (Backspace) в поле Key OnKeyPress
. Есть ли способ остановить это раздражающее поведение? Я имею в виду полностью прекратить прием OnKeyPress
, когда я нажимаю быстрые клавиши, такие как Ctrl + M, не тестируя Ctrl и ничего не делая внутри события. Я хочу, чтобы мое приложение обрабатывало клавишу Enter, когда клавиша Enter нажата не Ctrl + M. Я надеюсь, вы понимаете, о чем я говорю ...
http://stackoverflow.com/questions/10305634/ctrlbackspace-in-delphi-controls –
Если я использую 'SHAutoComplete', я больше не получаю # 13, когда я нажимаю Enter. –
Событие OnKeyPress не учитывает специальные клавиши, такие как 'Ctrl',' Alt' или 'Shift'. Если вы хотите обнаружить, когда одна из них нажата, вам нужно начать использовать события OnKeyDown или OnKeyUp. – SilverWarior