| Autor |
Beitrag |
Calyptus
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Mo 20.12.04 19:00
Ich möchte auf dem 'Hintergrundbild' malen. Bis jetzt hab ich das damit gemacht:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| var a, b:integer; ca:Tcanvas; begin ca:=TCanvas.Create; bla := TBitmap.Create; bla.LoadFromFile('C:\bild.bmp'); ca.Handle:=GetDC(0); ca.Draw(a, b, bla); ca.Free; end; |
Damit wird aber auch auf das Aktive Fenster und auf die Symbole gemalt. Ich möchte aber wirklich nur auf das Hintergrundbild. Ich kann aber auch nicht auf ein Bild malen und das dann als Hintergrundbild übernehmen, da dies viel zu lang geht. Die Grafiken bewegen sich, also werden alle 0.05s neu gezeichnet...
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
Marlem
Hält's aus hier
Beiträge: 6
D5 Prof.
|
Verfasst: Mo 20.12.04 19:44
was heißt Hintergrund?
hintegrund von was?
zum beispiel kann man auch auf dem canvas einer Form zeichnen!
Form1.canvas.draw....
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Mo 20.12.04 19:46
Er meint wahrscheinlich den Desktop (GetDC(0)). Warum willst du ein Bild auf den Desktop malen  ?
AXMD
|
|
Calyptus 
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Mo 20.12.04 22:59
| AXMD hat folgendes geschrieben: | | Er meint wahrscheinlich den Desktop (GetDC(0)). |
Jop.
| Zitat: | | Warum willst du ein Bild auf den Desktop malen |
Ich will es (passend zu der schönen Winterzeit) schneien lassen. Das geht auch schon alles, aber es wird halt alles überzeichnet. Und ich möchte wirklich nur auf dem 'Hintergrundbild' (wie oben schon gesagt) also weder auf den Symbolen, der Taskleiste oder anderen aktiven Fenstern malen.
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Mo 20.12.04 23:01
So einen Thread hatten wir schon mal... Klick (ganz nützliches Tool  )
AXMD
|
|
Calyptus 
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Mo 20.12.04 23:34
Na danke. auf die idee bin ich auch schon gekommen.....
Aber sag mir mal bitte nach was ich da suchen soll. unter 'desktop' find ich nix passendes.....
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
Calyptus 
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Fr 24.12.04 00:37
Hey... kann mir niemand helfen? Ich find wirklich nix... Sagt mir wenigstens nach was ich suchen soll
Danke!
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
Calyptus 
      
Beiträge: 386
Win Xp Prof
D3, D6 Pers, D7 Ent
|
Verfasst: Do 27.09.07 21:20
jetzt ist es leider sogar ein doppelter-push-post, aber es ist ja seit dem Letzten auch einige Zeit vergangen^^
Ich stehe jetzt aber wieder vor der gleichen Frage und wollte keinen mehr oder weniger identischen Post aufmachen.
Hier nochmal der Versuch zu beschrieben, um was es geht:
Ich möchte auf den Desktophintergrund zeichnen. Also noch hinter den Symbolen, aber vor dem Hintergrundbild. Ist nicht ganz professionell ausgedrückt, aber ich weiß nicht wie ich es anders beschrieben soll.
Im Anhang noch ein Bild wie ich es mir vorstelle.
Einloggen, um Attachments anzusehen!
_________________ Luft- und Raumfahrtechnik an der Uni Stuttgart
|
|
Lossy eX
      
Beiträge: 1048
Erhaltene Danke: 4
|
Verfasst: Fr 28.09.07 07:41
Schau dir mal das Program von andreas jönsson an. Der macht genau das. Allerdings ist der Code C++ bzw benutzt im original auch hooks. Aber es gibt auch eine modifizierte Version die keine Hooks benötigt.
Das interessanteste ist wohl eher diese Pasage.
Quelltext 1: 2: 3: 4:
| // Find the desktop window HWND hProgMan = FindWindow("ProgMan", NULL); HWND hShellDef = FindWindowEx(hProgMan, NULL, "SHELLDLL_DefView", NULL); hDesktopWnd = FindWindowEx(hShellDef, NULL, "SysListView32", NULL); |
Mit anderen Worten es wird nicht direkt auf das DesktopWindow geschrieben sondern auf ein Unterfenster davon.
_________________ Nur die Menschheit ist arrogant genug, um zu glauben sie sei die einzige intelligente Lebensform im All. Wo nicht mal das nachhaltig bewiesen wurde.
|
|