Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: D12 VCL Eingabefokus nach Menü-Hotkeys

  Alt 4. Jul 2024, 11:22
Programme im Hintergrund haben nicht das Recht sich selbstständig in den Vordergrund zu drängeln.
Das aktive Programm darf aber fremde Programme vorholen und ihnen die Kontrolle übergeben.

https://learn.microsoft.com/en-us/tr...on-not-working
https://stackoverflow.com/questions/...w-to-the-front
...

Wenn dein Programm durch irgendwass kurz den Fokus verliert, dann ist es am Arsch.
z.B. ein Fenster schließen, wo es fehlschlägt einem anderen eigenem Fenster vorübergehend den Fokus zu überlassen und erst dann das Neue öffnen.
passiert z.B. selbst der Delphi-IDE gern, wenn gewisse Options-/Fehlerdialoge geschlossen werden.



Oder, was ich grade eben als Problemchen hatte.
* ein Vorauswahldialog geht im OnCreate auf
* der wird geschlossen (Klick auf OK-Knopf) und es tritt ein Fehler auf (hier in einem Query mit defektem SQL)
* der Fehlerdialog erwischt noch das grade noch aktive Vorauswahl-Fenster und merkt sich dessen Handle (HWND)
* * VCL-Dialoge merken sich im ShowModal den Vorherrigen und wollen anschließend den Fokus zurück dahin verschieben
* der Vorgänger ist inzwischen weg, es tritt sowas wie ein Windows.SetFocus(0) auf
* und das Programm wird ganz nach hinten geschoben, hinter alle Fenster anderer Programme
$2B or not $2B

Geändert von himitsu ( 4. Jul 2024 um 11:57 Uhr)
  Mit Zitat antworten Zitat