Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Opendialog liegt hinter Hauptform!? wie hervorheben??? (https://www.delphipraxis.net/121726-opendialog-liegt-hinter-hauptform-wie-hervorheben.html)

SimStar001 3. Okt 2008 10:27


Opendialog liegt hinter Hauptform!? wie hervorheben???
 
Hallo,

ich nutze folgende Funktion für meine Form, damit sie auch wirklich im vordergrund bleibt:

Code:
Application.NormalizeAllTopMosts;
  SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);

so nu habe ich aber noch nen Opendialog, der liegt nun aber immer beim öffnen hinter meinem hauptfenster, wie kann ich diesen jetzt hervorholen?


Danke

SimStar001 3. Okt 2008 10:50

Re: Opendialog liegt hinter Hauptform!? wie hervorheben???
 
naja wenn er geöffnet wir soll er eben gleich über meiner hauptform liegen ohne dass ich was amchen musss!

argonix 3. Okt 2008 12:37

Re: Opendialog liegt hinter Hauptform!? wie hervorheben???
 
Und wenn du den gleichen Befehl mit dem Handle des OpenDialog wiederholst? Was passiert dann?

Luckie 3. Okt 2008 12:41

Re: Opendialog liegt hinter Hauptform!? wie hervorheben???
 
Zitat:

Zitat von SimStar001
Hallo,

ich nutze folgende Funktion für meine Form, damit sie auch wirklich im vordergrund bleibt:

Code:
Application.NormalizeAllTopMosts;
  SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);

so nu habe ich aber noch nen Opendialog, der liegt nun aber immer beim öffnen hinter meinem hauptfenster, wie kann ich diesen jetzt hervorholen?

Nun ja, es kann eben imme rnur ein obersters Fenster geben. Und wenn dieses nicht bereit ist in den Hintergrund zu gehen,dann laden eben alle Fenster hinter demselbigen. Mach diese Einstellung rückgängiig und setze sie nach dem ausführen des OpenDialoges wieder.

Aber warum muss dein Programm denn unbedingt immer im Vordergund sein? Ist es so wichtig, dass kein anderes Programm wichtiger ist? So was widerspricht eigentlich der Philosophie von Windows, dass alle fenster gleichberechtigt sind und der Benutzer entscheiden kann, mit welchem Fenster er arbeiten will.

SimStar001 3. Okt 2008 16:19

Re: Opendialog liegt hinter Hauptform!? wie hervorheben???
 
Und wie mache ich das wieder rückgängig!?

Luckie 3. Okt 2008 19:26

Re: Opendialog liegt hinter Hauptform!? wie hervorheben???
 
Nun, wenn MSDN-Library durchsuchenSetWindowPos eine Möglichkeit bietet ein Fesnter in den Vordergund zu setzen, könnte man annehmen, dass es auch eine Möglichkeit bietet dies wieder rückgängig zu machen. Und dazu kann man dann erstmal einen Blick in die Windows-API Hilfe, das PSDK oder online das MSDN, werfen.

hamburcher 3. Okt 2008 19:37

Re: Opendialog liegt hinter Hauptform!? wie hervorheben???
 
...
Begin
Hide;
if OpenDialog1.Execute then
begin
...
end;
Show;
End;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz