![]() |
Wurm der Fenster frisst.
Hallo, dank des tutorials 'Über den gesamten Bildschirm zeichnen' war es mir schon möglich meinen Wurm über den ganzen Bildschirm krabbeln zu lassen. Wie kann ich aber es ejtzt programmieren, dass der Wurm die Fenster auffrisst und die dann auch (teilweise) weggefressen sind? :bouncing4:
|
Re: Wurm der Fenster frisst.
hallo,
in dem Du an der Postion des Wurm's den Inhalt des Fensters,an dieser Position,durch den Inhalt des dahinter liegenden Fenster's ersetzt. |
Re: Wurm der Fenster frisst.
das hört sich toll an, aber wie geht das. :hello:
|
Re: Wurm der Fenster frisst.
wenn Du nur ein Fenster hast..isses einfach (Getdesktopwindow)..dann die Position des Hintergrund's ersetzen..solltest Dir auch mal die Funktionen ClientToScreen..ScreenToClient..EnumWindows anschauen.
|
Re: Wurm der Fenster frisst.
ich würde das gerne so machen, dass der wurm eher so im Hintergrund läuft und dass da auch mehrere Fenster 'angeknappert' werden können. :stupid:
|
Re: Wurm der Fenster frisst.
na dann machs doch einfach..vom Desktopwindow die Pixel einfach auf den Screen schreiben..damit werden doch die darueberliegenden Fenster ueberschrieben...wenn natuerlich ein drueberliegendes Fenster..seinen Fensterinhalt regelmaessig aktualisiert..wirst Du ein Problem bekommen.
|
Re: Wurm der Fenster frisst.
Das wird so eifnach nicht funktionieren: Eigentlich gibt es nur ein einziges Canvas, und das ist der gesamte Bildschirm. Die Fenster erhalten imemr nur ein bestimmtes Rechteck davon zum Zeichnen. Wenn ein Fenster ein anderes überlappt, dann ist es sozusagen auch auf dessen Canvas. Du würdest die Pixel als mit den selben Pixeln überschreiben.
|
Re: Wurm der Fenster frisst.
Zitat:
|
Re: Wurm der Fenster frisst.
Kann man da eventuell was mit
![]() |
Re: Wurm der Fenster frisst.
:spin: Achja, ich hab noch ein Problem. Wie mache ich, dass der Wurm direkt auf dem Fenster kriecht? und dass er auch mal auf ein anderes Fenster springt oder so? :?: :spin:
|
Re: Wurm der Fenster frisst.
Am besten mit nem layered Window (hier im Forum gab es mal ein gutes Beispiel von, ich glaube, TurboPASCAL). Da kannst du den Wurm als transparentes PNG in ein Fenster laden, das dann ebenfalls transparent wird. Für das Anfressen würde ich etwas mit den Windows-Regions herumspielen. Dazu gibt es einen guten Codefetzen bei den Schweizern. Allerdings hätte das alles kaum etwas mit dem Zugriff auf das Desktop-Canvas zu tun. Ich glaube, das, was du machen willst, ist damit einfach nicht möglich - außer über sehr, sehr umständliche Umwege.
|
Re: Wurm der Fenster frisst.
das mit dem transparenten Fenster leuchtet mir auch ein. Wie geht das?
|
Re: Wurm der Fenster frisst.
Tut mir Leid, das Programm war nicht von TurboPASCAL sondern Khabarakh.
![]() Allerdings stelle ich grad mit erstaunen fest, dass unter Vista Titelleiste und Rand des fenster sichtbar sind. Wenn du den BorderStyle auf bsNone setzt, geht es aber. |
Re: Wurm der Fenster frisst.
Im OnCreate den Desktop als Bitmap speichern, mit TCanvas.Handle := GetDC(0) den Canvas des Bildschirms setzen, und damit Teile des Bildschirms übermalen. Funktioniert bei mir tadellos (war in einer Minute hingeklatscht, daher auch keine Fehler abgefangen).
|
Re: Wurm der Fenster frisst.
Und was machst du, wenn sich ein Fenster aktualisiert oder es verschoben wird?
|
Re: Wurm der Fenster frisst.
Dann male ich auch nochmal mit dem Canvas drüber ;) Der Desktop ist ja immernoch der gleiche. Wird der Desktop geändert, müsste man dies natürlich noch irgendwie (Messages?) rausbekommen und abarbeiten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 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