![]() |
ActiveControl und GroupBox mit Edit-Feldern
hi, ich habe mehrere GroupBoxen, auf denen sich wiederum mehrere
Edit-Felder befinden und eine Bildschirmtastatur, die ich als AppBar implementiert habe. Im Prinzip müßte ich für jedes Edit-Feld im OnChange-Handler folgenden Code einsetzen:
Delphi-Quellcode:
Damit könnte ich noch leben. Aber was mache ich, wenn ich
Form1.ActiveControl := TEditNR;
auf meiner virtuellen Tastatur eine Taste drücke, in welches Feld ich schreiben muß. Ich kann doch nicht immer wieder folgende Abfrage machen:
Delphi-Quellcode:
Wisst Ihr da ne bessere Lösung ?
if Form1.ActiveControl = TEditNR then schreibe Zeichen in Feld TEditNR
Gruss BIOSER |
Re: ActiveControl und GroupBox mit Edit-Feldern
du brauchst nur einen pointer auf dein edit.
Delphi-Quellcode:
Diese Prozedur musst du dann bei allen edits als "getfocus" oder "setfocus"-event eintragen (irgendwie so heisst das)
var ActiveEdit: TEdit //global / form-member
procedure TForm1.Edit1SetFocus(sender: TObject); begin ActiveEdit = Sender as TEdit; end; Wenn du dann auf deiner bildschirmtatatur allen tastenbuttons als Tag-property den ASCII-Wert des Buchstabens zuordnest, gehts (fast) genauso:
Delphi-Quellcode:
//edit: nach deinem code: einfach auf
procedure TForm1.KeyButtonCLick(Sender: TObject);
begin ActiveEdit.text = ActiveEdit.Text + chr((Sender as TControl).Tag) //chr wandelt eine zahl in den entsprechenden character um end;
Delphi-Quellcode:
zureifen.
Form1.ActiveControl.text
// edit2: ist form1.activecontrol eine variable, die auomatishc von der form erzeugt wurde? dann wird dir die zuweisung nichts helfen, weil sie beim klick auf den button sofort überschrieben wird. |
Re: ActiveControl und GroupBox mit Edit-Feldern
hi, danke. Du meinst sicher OnEnter..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 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