Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Fenster im Vordergrund halten aber nicht fsstayontop (https://www.delphipraxis.net/82651-fenster-im-vordergrund-halten-aber-nicht-fsstayontop.html)

etom291272 17. Dez 2006 13:27


Fenster im Vordergrund halten aber nicht fsstayontop
 
Hallo zusammen

Ich suche eine Möglichkeit das Hauptfenster meiner Anwendung so umzuschalten, daß es entweder immer über alle anderen Fenster sichtbar bleibt (so als hätte es property formstyle mit fsstayontop gesetzt) oder aber sich wie ein normales Fenster verhält (fsnormal).

Das umschalten der standard Property während der Laufzeit ergibt immer wieder mal Programm abstürze, auch habe ich in anderen Foren und auch hier gelesen das man das umschalten der Standard Property zu Laufzeit eher lassen sollte.

Also welche Möglichkeiten gibt es noch das zu erreichen.

Freu mich auf Beiträge einen Versuch von mir möchte ich anführen der nicht "immer" zum Erfolg geführt hat (hat nur teilweise funktioniert)

Delphi-Quellcode:
SetWindowPos(Self.Handle ,HWND_TOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); //statt fsstay on top

SetWindowPos(Self.Handle ,HWND_TOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
SetWindowPos(Self.Handle ,HWND_TOP,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); //statt fsstaynormal
gleich vorweg das weglassen von Topmost vor Top bringt nichts

etom291272 20. Dez 2006 09:51

Re: Fenster im Vordergrund halten aber nicht fsstayontop
 
mächtig Push :wall: :wall: :wall: :wall:

Amateurprofi 20. Dez 2006 12:00

Re: Fenster im Vordergrund halten aber nicht fsstayontop
 
@etom291272
ich mache das mit hwnd_topmost / hwnd_notopmost, ansonsten wie von Dir gezeigt, und ich hatte damit bisher keine Probleme.

etom291272 20. Dez 2006 14:11

Re: Fenster im Vordergrund halten aber nicht fsstayontop
 
danke für die Antwort

könntest du mir eine kleine codezeile schreiben wie du diese konstanten (hwnd_topmost / hwnd_notopmost) verwendest

danke

Amateurprofi 20. Dez 2006 18:43

Re: Fenster im Vordergrund halten aber nicht fsstayontop
 
Zitat:

Zitat von etom291272
danke für die Antwort

könntest du mir eine kleine codezeile schreiben wie du diese konstanten (hwnd_topmost / hwnd_notopmost) verwendest

danke

wie ich schrieb : genauso, wie Du :

SetWindowPos(Self.Handle ,HWND_TOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);

SetWindowPos(Self.Handle ,HWND_NOTOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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