![]() |
Char(VK_DELETE)
Hi,
ich kann Backspace drücken, aber Entf nicht. Warum ?
Delphi-Quellcode:
procedure TfrmCreate.eKMKeyPress(Sender: TObject; var Key: Char);
begin if not (Key in ['0'..'9', ',', '.', Char(VK_BACK), Char(VK_DELETE)]) then Key := #0; end; |
Re: Char(VK_DELETE)
VK_BACK = 8 = ASCII 8 = Backspace
VK_DELETE = 46 != ASCII 127 = Delete Heisst im Klartext nimm die ASCII-Codes anstelle der VK-Codes.
Delphi-Quellcode:
procedure TfrmCreate.eKMKeyPress(Sender: TObject; var Key: Char);
begin if not (Key in ['0'..'9', ',', '.', Char(8), Char(127)]) then Key := #0; end; |
Re: Char(VK_DELETE)
Und um sich den unnötigen Typecast zu sparen so schreiben (macht ihr ja beim zurücksetzen auch so...):
Delphi-Quellcode:
procedure TfrmCreate.eKMKeyPress(Sender: TObject; var Key: Char);
begin if not (Key in ['0'..'9', ',', '.', #8, #127]) then Key := #0; end; |
Re: Char(VK_DELETE)
Hm, ich kann Entf immer noch nicht benutzen.
|
Re: Char(VK_DELETE)
Debug doch einfach mal rein und schau dir an, ob er überhaupt bei "entf" in die Methode reinspringt und wenn ja, welchen char-code zu bekommst :)
|
Re: Char(VK_DELETE)
Hm, bei Entf springt er nicht in OnKeyPress, ansonsten schon.
|
Re: Char(VK_DELETE)
Tja, dann isses wohl logisch das Entf nicht funktionieren kann ;)
Probier stattdessen mal onKeyDown :) |
Re: Char(VK_DELETE)
Wenn er bei Entf nicht reinspringt müsste es doch funktionieren, da Key := #0 dann nicht durchgeführt wird.
|
Re: Char(VK_DELETE)
Was erwartest du denn, das er tut, wenn du Entf drückst ?
|
Re: Char(VK_DELETE)
Ich erwarte dass er das normale Ereignis durchführt, also das Zeichen hinter dem Caret (fälschlicherweise auch Cursor genannt) löscht.
|
Re: Char(VK_DELETE)
Dann würd ich mal sagen, ist da ein Bug in der von dir benutzen Komponente :) oder es fehlt eine Einstellung.
|
Re: Char(VK_DELETE)
Du hast Recht. Die Editkomponente von Delphi7 ist fehlerhaft. Danke für den Hinweis. Ich denke das war dann so langsam der endgültige Todestoß für Delphi bei mir. Ich muss eh Lazarus benutzen und solche Fehler sind mir echt zu hoch.
Edit: Nur in diesem Projekt.... Da stimmt was nicht. |
Re: Char(VK_DELETE)
Dann viel Spaß mit Lazarus :)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:38 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-2025 by Thomas Breitkreuz