AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

nach AppHang vergisst PopupParent

Ein Thema von himitsu · begonnen am 8. Jun 2018
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

nach AppHang vergisst PopupParent

  Alt 8. Jun 2018, 12:42
Aktuell in XE, weiß nicht, ob es auch in XE 10.2 noch so ist, drum frag ich mal, ob jemand das kennt.

Also, wenn in Windows 7+ eine Anwendung kurz hängt, dann ersetzt Windows ja das Fenster.
Dabei landet das aktive ChildWindow aber hinter dem Hauptfenster, obwohl es eigentlich wegen PopupParent=MainForm und pmExplicit immer davor sein sollte.

Self.BringToFront, SetForegroundWindow und Dergleichen ... nichts hilft, um es anschließend wieder vor zu holen.

Hat noch wer derartige Proleme mit MultiForm-Anwendungen?
(bei uns sind MDI und mehrere freifliegende Einzelforms gemischt, welche aber eigentlich immer vor der MainForm liegen sollten)



Jetzt ist mir aber aufgefallen, dass ein erneutes setzen des PopupParent das Problem löst.

Das war der letzte Versuch, der endlich funktionierte
Delphi-Quellcode:
if Self.FormStyle <> fsMDIForm then begin
  SetForegroundWindow(Self.Handle);
  Self.PopupParent := nil;
  Self.PopupParent := Application.MainForm;
end else
  SetForegroundWindow(Application.MainFormHandle);
Application.BringToFront;
Self.BringToFront;
und reduziert auf nur noch diese eine Zeile
Self.PopupParent := Application.MainForm;
ging es immernoch.

Da aber
Delphi-Quellcode:
procedure TCustomForm.set_PopupParent(Value: TCustomForm);
begin
  if (Value <> FPopupParent) and ... then
würde es ja bedeuten, das irgendwo PopupParent/FPopupParent in der VCL richtig gelöscht würde
und nicht nur das Windows-Control (HWND) den Zustand vergisst, denn sonst würde ja eine erneute Zuweisung "garnichts" machen.
$2B or not $2B

Geändert von himitsu ( 8. Jun 2018 um 12:46 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz