Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
20. Aug 2012
wow, das gefällt mir gut!
ich werde sehen, wie ich das in mein Projekt einbauen kann.
@himitsu: vielen Dank
alledings wird auch hier ein Memoryleak erzeugt.
Darüber hinaus habe ich natürlich ein weiteres Problem: ein Abbruch-Button. Ich muss die Überprüfung abschalten können, damit der benutzer das Formular verlassen kann, ohne irgendeine Eingab zu machen. Ich glaube es wird wirklich...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
16. Aug 2012
ok, das mit dem Markieren gefällt mir gut, das werde ich dann auch so machen. Die endgültige Prüfung muss dann bei Drücken von "Ok" oder sonstiger weiterer Verarbeitung nochmals alles Validieren und dann ggf. einen entsprechenden Hinweis bringen. Allerdings hätte ich es lieber, wenn direkt nach der Eingabe ein Hinweis käme ohne den es nicht weiter geht. Oft sind die Eingaben einzelner Felder...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
15. Aug 2012
also nach einer ziemlich langen Rumprobiererei bin ich zu dem Schluss gekommen, dass das so nicht funzen kann. Es scheint ziemlich aussichtslos, eine vernünftige Eingabe-Validierung direkt nach der Eingabe zu machen - das ist aber am Besten füe den Anwender!
Dazu kommt noch, dass Memory-Leaks erzeugt werden, wenn man im OnExit oder OnEnter eines Controls den Fokus auf ein anderes Control...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
15. Aug 2012
Das war auch mein Ansatz aber wie gesagt, SetFocusControl (so heißt die Prozedur) ist leider nicht virtuell.
Das wird der Weg sein, den ich gehen werde.
Da ich alle Forms von einer eigenen BasisForm erben lasse, kann ich ein eigenes Property "FocusedControl" einbauen. Dieses Property wird dann beim OnEnter eines Controls gesetzt. Im Setter der Property (in der Form) wird dann die...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
15. Aug 2012
ja geil, das hat es gebracht. Nach dem ABORT wird keine weitere Aktion (Focus setzen) mehr ausgeführt. Das funktioniert also in meinem Sinne. Nur der Cursor ist dann weg :shock: aber den krieg ich schon irgendwie wieder.
Danke vielmals :bounce2::bounce2::bounce2:
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
14. Aug 2012
ok, das ist klar, mach ich auch üblicherweise so
ist ja nur ein Beispiel...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
14. Aug 2012
doch, funktioniert auch üblicherweise. Aber in der oben beschriebenen Konstellation wird es anscheinend irgendwie ignoriert, bzw. die Aktivierung des zweiten Feldes wird erst danach durchgeführt.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
14. Aug 2012
naja, vielleicht habe ich mich ein bisschen undeutlich ausgedrückt, ich versuchs nochmal:
Ich habe auf der Form zwei Edit-Felder, Edit1 und Edit2. Wenn Edit1 den Focus hat und ich dann auf Edit2 klicke, dann wird das OnExit von Edit1 aufgerufen (Prüfung), Edit2 ist also das Feld, welches "das Verlassen des EditFeldes veranlasst" hat. Aufgrund der negativen Prüfung auf "xx" soll der Focus...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
by eddie11,
14. Aug 2012
Hi allerseits,
ich möchte nach der Eingabe in einem Edit-Feld den Inhalt überprüfen. Das mach ich im OnExit-Ereignis des Edit-Controls:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Edit1.Text<>'xx' then begin
ShowMessage('Error: <>xx');
Edit1.SetFocus();
end;