Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Über alles Zeichnen (https://www.delphipraxis.net/91550-ueber-alles-zeichnen.html)

gekkorist 6. Mai 2007 22:37


Über alles Zeichnen
 
Hallo, kann ich in delphi irgendwie auf den Desktop malen das es von nichtz verdeckt wird, also immer im vordergrund? Egal ob anwendung, spiel oder was weiß ich!

[edit=SirThornberry]Schreibfehler im Titel korrigiert - Mfg, SirThornberry[/edit]

3_of_8 6. Mai 2007 22:52

Re: Über alles Zeichen
 
Ja, aber es ist nicht einfach.

Du kannst auf den Desktop zeichnen, indem du dir ein Canvas erzeugst und sein Handle auf GetDesktopWindow() setzt, aber wenn du z.B. ein 3D-Spiel spielst, wird es nicht angezeigt werden.

Falls du auf Fraps hinaus willst: Fraps arbeitet mit DLL-Injection, um in 3D-Spielen zeichnen zu können.

schrimm 8. Mai 2007 15:43

Re: Über alles Zeichen
 
ich bin mir nicht sicher, ob die genannte variante das war: das malt überall drüber, aber sonald sich was darüber verändertist es wieder weg.
das "verändern" kann so ziemlich alles sein, nen fenster was bewegt oder neu drüber kommt, wenn irgend ein symbol in der startleiste aktualisiert wird oder was weiß ich.
ist ja die frage, wie lange das bleiben soll, nur in spielen und so wird ja meistens in extrem kurzen abständen alles neu aufgebaut.

3_of_8 9. Mai 2007 14:10

Re: Über alles Zeichen
 
Dann muss er halt auf das Neuzeichnen reagieren und selbst auch neuzeichnen. Aber das eigentliche Problem ist ja, dass man mit dieser Methode nicht über ein 3D-Spiel zeichnen kann.

gekkorist 9. Mai 2007 16:28

Re: Über alles Zeichen
 
Mir gehts ja mehr über "Alle Malen" , das mitn Desktop is ja kein prob, aber richtig über alles ging in VB irgendwie besser, habe ich vor 2 Jahren mal gemacht, aber jetzt so viel Delphi gemacht das ich gerade nur noch weiss wieman VB Startet.

3_of_8 9. Mai 2007 16:31

Re: Über alles Zeichen
 
Was du in VB kannst, kannst du auch in Delphi. Wie hast du das denn in VB gemacht?

shmia 9. Mai 2007 16:48

Re: Über alles Zeichen
 
Klar, ein Formular ohne Rahmen und Titelleiste, dass so gross ist wie der Desktop.
Delphi-Quellcode:
procedure MakeFullScreenForm(form : TForm);
begin
   Assert(Assigned(form));
   Form.BorderStyle := bsNone;
   Form.FormStyle := fsStayOnTop;
   Form.SetBounds(0, 0, Screen.Width, Screen.Height);
end;
Und schon hast du die gesamte Fläche zum Zeichen. (über self.Canvas zugreifen)

inherited 9. Mai 2007 16:57

Re: Über alles Zeichen
 
Aber nicht über 3D-Spiele...

3_of_8 9. Mai 2007 17:10

Re: Über alles Zeichen
 
Außerdem hat man dann das Problem, dass der Desktop ja nicht durchscheint. Da ist es einfach, gleich auf das Handle des Desktops zu zeichnen.

gekkorist 9. Mai 2007 21:13

Re: Über alles Zeichnen
 
habe mal nen Crosshair gemacht, wo man größe und so einstellen konnte, das konnte ich schoen in Egoshootern verwenden, zB UT, war ganz praktisch.
Is aber wie gesagt 2 Jahre her, und den Quelltext habe ich net gesichert, evtl liegt er ja noch auf dem PC wo ich mien Fachinf. lehre angefangen habe.. mal meinen ausbilder fragen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz