![]() |
In gefiltertem Edit auch STRG-C/V zulassen
Hallo,
ich habe ein etwas dusseliges Problem: Mit dem folgenden Code stelle ich sicher, dass in einem Editfeld nur hexadezimale Angaben gemacht werden können:
Delphi-Quellcode:
(das Ganze dann in Verbindung mit KeyPress)
if not (Key in [#8,#35,#48 .. #57,#65 .. #70, #97 .. #102]) then Key := #0;
Nun soll aber auch STRG-C und STRG-V funktionieren, was aber nicht gelingt, da diese Tastenkombinationen ja durch obigen Code geblockt werden. Wie kann ich das doch noch hinkriegen? Danke Opa |
Re: In gefiltertem Edit auch STRG-C/V zulassen
Hai Opa,
dafür kannst Du das .OnKeyDown Ereigniss benutzten. Dieses wird vom OnKeyPress aufgerufen.
Delphi-Quellcode:
Der Code hat aber einen "Nachteil". Es wird nicht geprüft was in der Zwichenablage für ein Text ist. Es wärden also auch "nicht Hex" Eingaben in das Edit kopiert werden.
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if not (Key in [#8,#35,#48 .. #57,#65 .. #70, #97 .. #102]) then begin Key := #0; end; end; procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Shift = [ssCtrl] then begin Case Key of Ord ('C') : Edit1.CopyToClipboard; Ord ('V') : Edit1.PasteFromClipboard; Ord ('X') : Edit1.CutToClipboard; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 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