Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Probleme mit "Edit1.SetFocus"


kiwicht - Fr 20.06.03 10:34
Titel: Probleme mit "Edit1.SetFocus"
Hallöle...

Zum visuellen Programm-Aufbau:

1 MainForm, FormStyle: MDIForm,

1 Form, als MDI-Child, wird in der MainForm regelrecht aufgerufen, bzw. geöffnet

auf der MainForm liegt ein Panel, darauf ein PageControl, und in diesem PageControl u.a. ein Edit-Feld.

Nun wird beim Programmstart der Focus auf das Edit-Feld gesetzt, damit der Anwender gleich am Anfang eine Sucheingabe tätigen kann, ohne groß mit der Tabtaste oder der Maus zu navigieren.

Beim Druck von "Enter" wird dann das MDI-Child geöffnet (Create).
Nun soll aber beim Beenden bzw. Schliessen dieses MDI-Childs wieder der Fokus auf das Edit-Feld in der PageControl gesetzt werden, dazu steht folgendes

Delphi-Quelltext
1:
2:
Main.panStartSuche.Visible := True;
Main.ResetSuchFeld;

im OnClose-Ereigniss des MDI-Childs.

Wenn ich das ganz nun testen will, funktioniert es aber nicht:
Ich kann nicht automatisch in das Edit-Feld etwas eingeben, weil es offensichtlich nicht "aktiviert" ist, andererseits wird aber das in der Tab-Order als nächstes aufgeführte Objekt aktiviert, was darauf deuten lässt, das in irgendeiner Weise doch das gewünschte Edit-Feld den Fokus besass, nur der "Cursor" nicht korrekt angezeigt wurde.

Ich hoffe ihr versteht was ich meine, wär prima wenn einer n Lösungs-Vorschlag hätte..

mfG


blackbirdXXX - Fr 20.06.03 12:23

Normalerweise sollte doch

Delphi-Quelltext
1:
Mainform.Edit1.SetFokus;                    

funktionieren wenn du es in die Mainform.Aktivate hineinschreibst(oder in die MDIChild.Close)


kiwicht - Fr 20.06.03 13:23

ja, normalerweise.

In meinem Fall funktioniert es aber leider nicht :/