![]() |
Bildschirm abdunkeln?
Hallo Leute,
ich möchte gerne den Bildschirm abdunkeln! Aber nicht komplett sondern nur den ungenutzten Bereich! Sprich ich habe ein Fenster, und alles was um das Fenster drum herum ist, BSP: Desktop + Icons etc soll abgedunkelt werden, so das das haupt Augenmerk auf mein Fenster fällt! Ich habe diese Funktion schon einmal beim DivX Webplayer irgrendwo gesehen. |
Re: Bildschirm abdunkeln?
man könnte da definitiv ein, meiner meinung nach perveres features nutzen. lege zwei forms hintereinander. die hintere form mit den folgenden eigentschaften:
Delphi-Quellcode:
und die fordere form eben dann für deine anwendung, in so fern du diese überhaupt brauchst.
AlphaBlend := True;
AlphaBlendValue := 100; // Hier kannst ja nocht rumschrauben // oder einen Timer einsetzen, um den // Verlauf kontinuierliche zu ändern BorderStyle := bsNone; // Form über die ganze Fläche legen Left := 0; Top := 0; Width := Screen.WorkAreaWidth; Height := Screen.WorkAreaHeight; ps: dies funktioniert halt nur auf einem monitor, nicht aber wenn du mehrere hast. dafür würde ich dann mehrere forms zum abdunkeln empfehlen, aber ist irgendwie eine perverse lösung. vielleicht kann man ja passend auf dem desktop zeichnen, das weiß ich nicht. wenn dir davon den canvas holst... wäre auch eine möglichkeit. |
Re: Bildschirm abdunkeln?
h3h3 und schon wieder was schönes, nützliches neues dazugelernt!
Aber ich weiß nicht so recht ob das so wirklich das gewollte Ergebniss bringt. Ich teste mal noch ein wenig rum! EDIT: Ich denke dies würde eher in den Sinn kommen:
Delphi-Quellcode:
Da ich BSP meine Taskleiste oben habe, kommt bei dem mit Workarea unten ein Streifen(Da wo sonst die Taskleiste ist) der nicht abgedunkelt wird^^
Width := Screen.Width;
Height := Screen.Height; |
Re: Bildschirm abdunkeln?
Zitat:
musst du dann so machen:
Delphi-Quellcode:
in diesem fall, wenn ich nichts vergessen haben sollte, müsste er die taskbar praktisch immer berücksichtigen.
AlphaBlend := True;
AlphaBlendValue := 100; // Hier kannst ja nocht rumschrauben // oder einen Timer einsetzen, um den // Verlauf kontinuierliche zu ändern BorderStyle := bsNone; Left := Screen.WorkAreaRect.Left; Top := Screen.WorkAreaRect.Top; Width := Screen.WorkAreaWidth; Height := Screen.WorkAreaHeight; |
Re: Bildschirm abdunkeln?
Ja, so funktioniert das alles auch wunderbar!
Besten Dank! PS: Das sollte keine negative Kretik sein sondern ein Verbesserungsvorschlag ;) |
Re: Bildschirm abdunkeln?
Man könnte auch einen Screenshot vom Desktop machen. Diesen dunkler machen und das ganze auf die hineter Form kopieren. War jetzt nur so ein Schnellschuss, ohne länger darüber nachgedacht zu haben.
|
Re: Bildschirm abdunkeln?
Zitat:
|
Re: Bildschirm abdunkeln?
Zitat:
die frage, die sich mir hierbei stellt ist, welche methode, steuerung über alpha-wert oder über eingefärbte grafik, denn effizienter funktioniert!? :thumb: und vor allem warum das so ist?! |
Re: Bildschirm abdunkeln?
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
um weiterhin Mausklicks auf den Desktop zuzulassen, würde ich folgendes im FormShow der Abdunklungsform empfehlen:
Delphi-Quellcode:
Dies erlaubt das "durchklicken" durch die Form (siehe angehängtes Beispiel :) )
setWindowLong(Handle, GWL_EXSTYLE,
getWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TRANSPARENT or WS_EX_LAYERED); bis dann, Christian :) |
Re: Bildschirm abdunkeln?
Naja das mit dem Screenshots finde ich nicht ganz so toll, da bevorzuge ich das mit dem AlphaBlend des einen Formulares.
Ohja, danke @Christian, das hätte ich fast vergessen^^ Aber so ist das ne gute Lösung ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:23 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 by Thomas Breitkreuz