![]() |
Form als DesktopHintergrund
hi
kann ich eine Form als DesktopHintergrund benutzen? also kann ich ein Formular hinter der Taskbar und hinter icons und so anordnen? Achso: es würde auch reichen wenn ich irgendwie ein Bitmap/Canvas oder so hätte, das ich dann immer aufn desktop male |
Re: Form als DesktopHintergrund
den Parent des Forms einfach auf das Desktopfenster setzen.
|
Re: Form als DesktopHintergrund
Der Desktop ist nicht mehr als ein normales Fenster
|
Re: Form als DesktopHintergrund
hinter die icons wird schwer bis unmöglich. Was eventuell gänge wäre wenn du den parent deines forms auf das desktopfenster setzt, und die listview mit den symbolen dann auf dein formular. allerdings überdecken diese dann wieder einen teil von deinem formular, bzw. alles weil das ja so groß ist wie der geammte bildschirm (also das listview mit den symbolen)
|
Re: Form als DesktopHintergrund
hmm, weil ich hab da son prog gefunden was animierte desktophintergründe anzeigt...
und das wollte ich mal mit ein paar unauffälligeren motiven versuchen... |
Re: Form als DesktopHintergrund
Versuch' mal, den "Program Manager" (heisst echt so, ist der Icons-Teil des Desktops) in dein Formular zu binden (mit SetParent()) und dann dein Formular als Child des Desktops setzen.. Weiss nicht genau ob's geht, bin zu faul zum testen ;)
|
Re: Form als DesktopHintergrund
hmm, hört sich halbwegs logisch an :gruebel: :gruebel:
wie krieg ich denn das handle vom Program Manager und den vom Desktop raus? |
Re: Form als DesktopHintergrund
Das Handle vom Desktop ist imho immer 0. (Oder war's der DC der immer 0 ist? Mal testen...) Das andere weiss ich net :)
|
Re: Form als DesktopHintergrund
Für Desktop-Handle nutzt dir
![]() |
Re: Form als DesktopHintergrund
also, ich hab folgendes versucht:
Delphi-Quellcode:
und natürlich
procedure TForm1.FormCreate(Sender: TObject);
begin Desktop:=GetDesktopWindow; ProgramManager:=FindWindow(nil, 'Program Manager'); TempDesktop:=Windows.GetParent(Desktop); TempProgramManager:=Windows.GetParent(ProgramManager); Windows.SetParent(Application.Handle,Desktop); Windows.SetParent(ProgramManager,Application.Handle); end;
Delphi-Quellcode:
aber das funktioniert nicht?
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin Windows.SetParent(Desktop,TempDesktop); Windows.SetParent(ProgramManager,TempProgramManager); end; hab ich irgendwas vergessen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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