Damit beschäftigte ich mich jüngst auch
ausführlich.
Fenster in den Vordergrund setzen:
1. Eine notwendige, jedoch nicht ausreichende Bedingung ist, den Formstyle des Formulares auf Stayontop zu setzen. Nur nützt das nichts gegenüber anderen Fenstern/Formularen, die dieses Attribut ebenfalls so gesetzt haben, z.B. beim Taskmanager, der verdeckt das trotzdem frech. Deshalb:
2. Bei jedem sich bietenden Ereignis (Verdecken gehört leider nicht dazu, aber Neuzeichnen, wenn man ein über-/verdeckendes Formular wieder ein wenig wegzieht) oder über einen Timer einen der drei Befehle verwenden:
- BringToFront
- BringWindowToTop(
Handle)
- SetForeGroundWindow(
Handle)
Viel Erfolg!