![]() |
Ein Fenster immer oben anzeigen???
Hallo!
Wie kann ich ein Fenster immer obern über allen anderen Fenstern anzeigen, auch über fremden fenstern? fsStayOnTop ist nur ein im eigenen Programm wirksam. |
Re: Ein Fenster immer oben anzeigen???
Delphi-Quellcode:
Damit must du halt irgend etwas anfangen ... .
procedure ShowMe;
var Th1, Th2: Cardinal; begin Th1 := GetCurrentThreadId; Th2 := GetWindowThreadProcessId(GetForegroundWindow, nil); AttachThreadInput(Th2, Th1, true); try SetForegroundWindow(Application.Handle); finally AttachThreadInput(Th2, Th1, false); end; end; |
Re: Ein Fenster immer oben anzeigen???
@Nils: weißt du überhaupt, was dein Code macht? Ich glaube nicht, sonst hättest du ihn nicht hier reingepostet :roll: . Er kommt nämlich aus
![]() @Topic: Das geht per WinAPI:
Delphi-Quellcode:
oder noch besser:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
Delphi-Quellcode:
Die letzte Möglichkeit ist besser, da bestimmte Werte des Forms afaik nicht verändert werden.
var
wp: TWindowPlacement; //... GetWindowPlacement(Handle, @wp); with wp do with rcNormalPosition do SetWindowPos(Handle, HWND_TOPMOST, Left, Top, Right, Bottom, flags); [edit]Edit: Link ausgebessert[/edit] |
Re: Ein Fenster immer oben anzeigen???
Danke! Probiere ich gleich aus!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 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