Frage

Ich habe eine Delphi 2006-App, die ein Modal-Alarm-Dialogfeld auftaucht, wenn ein Fehlerzustand erkannt wird.Wenn der Scheck für die Fehlerbedingung in einem Leerlaufhandler erfolgt, kann der Dialog über den oberen Rand eines anderen modalen Dialogfelds angezeigt werden, falls dieser angezeigt wird.Dies kann zu einer verwirrenden Situation für den Benutzer führen, in der das Anwendungs-Hauptformular nicht den Fokus ergibt, nachdem das Alarmdialog geschlossen ist, da diese ein weiteres dünnetes modales Dialogfeld ist.

Was ich tun möchte, ist, die Alert-Popups zu verschieben, während die App alle modalen Dialoge öffnet.

Ich habe GetLastActivePopup (myMainWindow.Handle) versucht, aber es scheint die ganze Zeit nicht-Null zurückzukehren.

War es hilfreich?

Andere Tipps

nur testen

generasacodicetagpre.

Dies würde sich auch auf Situtationen kümmern, wenn ein Nicht-Delphi-Dialogfeld modal ist, wie in generakodicetagcode.oder ein Common Dialog zeigt (d. H. A topendialog).

Verwenden Sie AnyPopup () Funktion

über getlastacypopup ().Es kann den Wert zurückgeben wie der HWND-Parameter, wenn

  • Das von HWND identifizierte Fenster war zuletzt tätig.
  • Das von HWND identifizierte Fenster besitzt keine Popup-Fenster.
  • Das Fenster identifiziert von HWND ist kein oberstes Fenster, oder es ist im Besitz eines anderen Fensters.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top