![]() |
"Always in Back"
Hello Folks!
Ich sitze gerade an einem Programm, das auf dem Desktop liegen (und liegen bleiben) soll... Gibt es sowas wie "always in back"? Ein timer-gesteuertest "sendtoback" bringt's auch nicht... Kann mir da jm helfen? MfG und danke im Voraus Huso |
Re: "Always in Back"
|
Re: "Always in Back"
Mit SetWindowPos kannst du die Position der auf der "Z-Achse" beeinflussen. In deinem Fall also:
Delphi-Quellcode:
Allerdings bleibt das Fenster nur solange im Hintergrund, bis man es wieder nach vorne holt. Ist also keine permanente Einstellung.
SetWindowPos(Handle, HWND_BOTTOM, Left, Top, Width, Height, 0);
|
Re: "Always in Back"
Also im Prinzip ist folgender Code genau das, was ich brauche, funktioniert bei mir allerdings nicht... :wall:
Delphi-Quellcode:
eigentlich ändert sich nichts: Ein aktives Fenster liegt vor dem Programm, doch sobald ich wieder in meine Form klicke ist diese wieder im Fordergrund... :kotz:
procedure TForm1.CreateParams(var Params: TCreateParams);
begin inherited CreateParams(Params); if Assigned(Application.MainForm) then begin Params.WndParent := GetDesktopWindow; Params.Style := WS_CHILD; end; end; Ist es vll eine Idee, dass sobald mein Fenster aktiv wird ich es wieder in den Hintergrund schicke?! :drunken: Wie könnte ich das verwirklichen? MfG Huso |
Re: "Always in Back"
Bitte helft mir :coder:
:wall: Ich komm da nun wirklich nicht weiter, wenn mir niemand hilft! :wiejetzt: Wenn jm auch nur die geringste Idee hat :warn: bitte posten!!! THX :firejump: MfG Huso |
Re: "Always in Back"
ne komplizierte methode wär vielleicht:
in jede procedure dies da gibt schreiben, dass die form "in back" sein soll... den code weiß ich grad nicht... |
Re: "Always in Back"
Also eigentlich müsste das doch theoretisch möglich sein den Desktop als Parent und mein Program als entsprechendes Child zu benutzen, oder? Das hätte doch den gewünschten Effekt?!
Aber was ist dann oben falsch? :gruebel: MfG HusO |
Re: "Always in Back"
einen schönen sonntag nachmittag!
aus ![]() Da steht auch wie ein Programm ohne Taskmanager und auch ohne Tray-Hinweis amlaufen bleibt! Schönen Sonntag noch! |
Re: "Always in Back"
änder einfach mal von
Delphi-Quellcode:
nach
procedure TForm1.CreateParams(var Params: TCreateParams);
begin inherited CreateParams(Params); if Assigned(Application.MainForm) then begin Params.WndParent := GetDesktopWindow; Params.Style := WS_CHILD; end; end;
Delphi-Quellcode:
Bei mir ist in "CreateParams", "if Assigned(Application.MainForm)" immer false. Nach dem ich die Bedingung raus genommen hab hats funktioniert
procedure TForm1.CreateParams(var Params: TCreateParams);
begin inherited CreateParams(Params); Params.WndParent := GetDesktopWindow; Params.Style := WS_CHILD; end; |
Re: "Always in Back"
THX
Jo, jetzt geht's vielen dank! MfG Huso |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 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 by Thomas Breitkreuz