Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Desktop Screenshot ... etwas anders (https://www.delphipraxis.net/108973-desktop-screenshot-etwas-anders.html)

Sko 22. Feb 2008 06:27


Desktop Screenshot ... etwas anders
 
Hallo,

mein Programm sollte ein Screenshot vom Desktop machen, was soweit kein Problem ist. Aber das Programmfenster selbst sollte nicht auf dem Desktop erscheinen und kurz ausblenden geht leider nicht. Kann man einen Screenshot vom Desktop erstellen wo nur die Fenster angezeigt werden die unter dem Programmfenster liegen? (Fenster hat Formstyle fsStayOnTop, also liegt (fast) alles drunter.)

Danke schonmal.

Corpsman 22. Feb 2008 07:05

Re: Desktop Screenshot ... etwas anders
 
Probier mal

Delphi-Quellcode:
Form1.visible := False;
Screnshot machen
Form1.visible := True;

Sko 22. Feb 2008 07:20

Re: Desktop Screenshot ... etwas anders
 
Danke, aber eben das geht leider nicht, das Fenster sollte nicht flackern oder sowas. Im Prinzip soll ein Screenshot vom Desktop gemacht werden, der Ausschnitt davon der unter dem Fenster liegt mit verschiedenen Effekten versehen werden(z.B. Blur) und dann als Form-Hintergrund verwendet werden, der auch aktualisiert wird (z. B. per Timer in festgelegtem Interval). Ausschnitt und Effekte sind kein Problem, aber aktualisieren geht nur wenn das Fenster nicht zu sehen ist, sonst hätte man das ja wieder als Hintergrund und ausblenden geht nicht weil dann das Fenster flackert.

Luckie 22. Feb 2008 08:14

Re: Desktop Screenshot ... etwas anders
 
Nein, das geht nicht. Windows merkt sich nicht, wie es "hinter" den Fenstern aussieht, weil es einfach zu viel Speicher benötigen würde. Und es ist ja auch überflüssig, weil, wenn bereiche ungültig werden, werden die Fenster dazu aufgefordert sich neu zu zeichnen. Diesen Effekt sieht du auch, wenn du ein Programm hats, welches nicht mehr reagiert. Schiebst du ein anderes Fenster darüber, bleibt die Client-Area, des nicht mehr reagierenden Fenster, weiß.

inherited 22. Feb 2008 08:21

Re: Desktop Screenshot ... etwas anders
 
Ich nehme an du willst sowas wie Fake-Transparenz haben. Die meisten Programme machen das, indem sie jeweils ein Teil des Hintergrundbild, Muster, ... anzeigen.

Sko 22. Feb 2008 08:24

Re: Desktop Screenshot ... etwas anders
 
Hallo Luckie,
danke für die Erklärung :thumb: , schade das dass nicht geht, aber ist nicht ganz so wichtig, war nur für einen Splashscreen gedacht.


Zitat:

Zitat von inherited
Ich nehme an du willst sowas wie Fake-Transparenz haben. Die meisten Programme machen das, indem sie jeweils ein Teil des Hintergrundbild, Muster, ... anzeigen.

ja, so macht mein Programm das zur Zeit, ich wollte nur wissen ob man das eventuell etwas optimieren kann, aber da es eh nur für einen Splashscreen gedacht war will ich da nicht unnötig komplizierte Sachen veranstalten und lass es wie es ist.

Matze 22. Feb 2008 08:29

Re: Desktop Screenshot ... etwas anders
 
Zitat:

Zitat von Sko
schade das dass nicht geht, aber ist nicht ganz so wichtig, war nur für einen Splashscreen gedacht.

Andere Programme können Transparente Splash-Screens anzeigen, dann geht das mit Delphi natürlich auch. Allerdings nicht so unsauber, wie du es vorhattest. Schau dir mal diese Demo an. ;)

Sko 22. Feb 2008 08:40

Re: Desktop Screenshot ... etwas anders
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Matze
Andere Programme können Transparente Splash-Screens anzeigen, dann geht das mit Delphi natürlich auch. Allerdings nicht so unsauber, wie du es vorhattest. Schau dir mal diese Demo an. ;)

Die Demo kenn ich, allerdings würden die Graphics32-Komponenten die Größe des Programmes fast verdoppeln, und für einen Splashscreen alleine halte ich das nicht für so sinnvoll, außerdem reicht Transparenz alleine nicht bei mir, ich hab mal einen Screenshot angehangen wie´s aussieht.

Matze 22. Feb 2008 08:45

Re: Desktop Screenshot ... etwas anders
 
Achso, das ist natürlich etwas komplexeres und dabei kann ich dir auch nicht helfen.
Unter Vista wäre es vermutlich kein großes Problem, da diese Fenstertransparenz den Blureffekt beinhaltet, doch unter älteren Betriebssystemen wüsste ich nicht, wie man das so macht, dass sich auch "live" der Blureffekt ändert, wenn sich etwas hinter dem Splashscreen verändert.

Sko 22. Feb 2008 08:53

Re: Desktop Screenshot ... etwas anders
 
Ja, das war mein Problem, aber wenn der Splashscreen mal so lange dasteht das man noch Fenster hin und her schiebt stimmt eh was nicht :wink: , daher ist das nicht so schlimm.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:22 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