![]() |
Problem mit gedrückter Return-Taste
Hallo!
in der KeyPress-Ereignisroutine einer ComboBox wird die Funktion Insert aufgerufen. Problem: wenn die Return-Taste gedrückt und nicht losgelassen wird, wird die Funktion mehrmals aufgerufen. Wie kann man erreichen, so dass die Funktion nur einmal aufgerufen wird, egal ob man die Return-Taste gedrückt hält oder mehrmals hintereinander schnell drückt.
Code:
Mfg
procedure Tfrm_eingabe.cobxformatKeyPress(Sender: TObject; var Key: Char);
begin if (Key = #13) and bCanInsert then begin try Insert; finally bInserting := False; end; Key := #0; end end; Ali |
Re: Problem mit gedrückter Return-Taste
Hallo bergamo34,
man könnte dazu eine Variable vom Typ Boolean verwenden. Sobald die Taste das erste mal gedrückt wurde erhält die Variable den Wert True. Dann muss vor dem erneuten Aufrufen der Funktion geprüft werden, welchen Wert die Variable hat. Hat die Variable den Wert False, wird die Funktion ausgeführt, wenn sie den Wert True hat, wird sich nicht erneut ausgeführt. Tschüß Markus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz