Focus auf anderes Formular setzen

ich habe mehrer Fenster und will bei bestimmten events also wenn der Anwender in einem bestimmten Feld Enter drückt den Focus an das nächste Formular weitergeben und dann bestimmte sachen dort ausfüllen und wenn der Anwender dann weiter geht wieder zurück …

habe das ganze versucht mit Form2.edit1.setfocus;
das Formular wird vorher mit Form2.show; geöffnet und er sagt mir trotzdem das ein deaktiviertes oder unsichtbares Fenster keinen Focus erhalten kann … was mache ich falsch ???

Wäre toll wenn mir da jemand weiter helfen könnte …

habe das ganze versucht mit Form2.edit1.setfocus;
das Formular wird vorher mit Form2.show; geöffnet und er sagt
mir trotzdem das ein deaktiviertes oder unsichtbares Fenster
keinen Focus erhalten kann … was mache ich falsch ???

Hi Wendt,

probier mal nach dem Form2.Show ein Application.ProcessMessages

Manfred

Danke - focus auf anderes Formular setzen
danke das klappt … kannst du mir auch sagen was das bewirkt und warum es damit geht ??

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

danke das klappt … kannst du mir auch sagen was das bewirkt
und warum es damit geht ??

habe das ganze versucht mit Form2.edit1.setfocus;
das Formular wird vorher mit Form2.show; geöffnet und er sagt
mir trotzdem das ein deaktiviertes oder unsichtbares Fenster
keinen Focus erhalten kann … was mache ich falsch ???

Wenn Du z.B.die Methode form2.edit1.setFocus aufrufst, so müssen viele Prozeduren abgearbeitet werden.

z.B. muß der Cursor in das edit1.Feld gesetzt werden,
das Objekt, dass bislang den Focus hat verliert ihn (hier
wird dann evtl. noch eine TComponent.OnExit-Funktion
aufgerufen)
Evtl. wird eine edit1.OnEnter aufgerufen usw.

Alle diese Aufgaben werden frühestens abgearbeitet, wenn die Procedure, in der der Befehl form2.edit1.setFocus steht, fertig ist. Mit Application.ProcessMessages wird die Nachrichten-Schlange aber sofort abgearbeitet, so daß hinterher auch Deine Form den Focus hat.

Manfred