![]() |
OnKeyDown wird bei Firemonkey 2x ausgeführt
Hallo,
ich bin gerade etwas mit Firemonkey am experimentieren und dabei ist mir aufgefallen, dass das OnKeyDown eines TEdit 2x ausgeführt wird. Beispiel bei Werteingabe TEdit gelb färben, mit Return weiß färben funktioniert unter der VCL, aber unter Firemonkey nicht.
Delphi-Quellcode:
(* Firemonkey *)
procedure TForm1.EditVoltageKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin if Key = vkReturn then begin SetEditControlColor((Sender as TEdit), claWhite); end else SetEditControlColor((Sender as TEdit), claYellow); end;
Delphi-Quellcode:
Kann das jemand bestätigen?
(* VCL *)
procedure TForm1.EditVoltageKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_RETURN then begin (Sender as TEdit).Color := clWindow; end else (Sender as TEdit).Color := clYellow; end; |
AW: OnKeyDown wird bei Firemonkey 2x ausgeführt
Welcher Update-Stand? Evtl das Wochendende abwarten und das mit Update#4 testen.
|
AW: OnKeyDown wird bei Firemonkey 2x ausgeführt
XE2 Version 16.0.4358.45540 (Update #3)
|
AW: OnKeyDown wird bei Firemonkey 2x ausgeführt
Versuch es mal im OnKeyUp ... ist das dort immernoch so?
|
AW: OnKeyDown wird bei Firemonkey 2x ausgeführt
Hallo,
Ja, mit folgendem unter XE2 Update 3:
Delphi-Quellcode:
Zählt immer schön bei jedem Tastendruck zwei hoch.
type
TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; procedure Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); procedure Edit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } fKeyDownCount: Integer; fKeyUpCount: Integer; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin Inc(fKeyDownCount); Label1.Text:= Format('KeyDownCount= %d; KeyUpCount= %d', [fKeyDownCount, fKeyUpCount]); end; procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin Inc(fKeyUpCount); Label1.Text:= Format('KeyDownCount= %d; KeyUpCount= %d', [fKeyDownCount, fKeyUpCount]); end; procedure TForm1.FormCreate(Sender: TObject); begin Label1.Text:= Format('KeyDownCount= %d; KeyUpCount= %d', [fKeyDownCount, fKeyUpCount]); end; Zitat:
Im Update 4 soll ja sehr viel an FireMonkey verbessert worden sein. Einbeliebigername. |
AW: OnKeyDown wird bei Firemonkey 2x ausgeführt
Dann warte ich mal das Update #4 ab, soll ja in Kürze kommen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 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