Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Panel mit Inhalt 50% transparent machen (https://www.delphipraxis.net/23179-panel-mit-inhalt-50-transparent-machen.html)

S2B 30. Mai 2004 11:30


Panel mit Inhalt 50% transparent machen
 
Hi @all,
Die Überschrift sagt eigentlich schon alles! :wink:
Hoffe, es hat einer ne Idee!

S2B 1. Jun 2004 08:07

Re: Panel mit Inhalt 50% transparent machen
 
*nach oben schieb*

atreju2oo0 1. Jun 2004 09:16

Re: Panel mit Inhalt 50% transparent machen
 
Da sollte Alphablend helfen, oder?

S2B 1. Jun 2004 09:20

Re: Panel mit Inhalt 50% transparent machen
 
Zitat:

Zitat von atreju2oo0
Da sollte Alphablend helfen, oder?

Wie soll das dann gehen? Selbst wenn ich das Panel transparent kriege, muss ich dann jeden Button extra transparent machen oder macht der das dann automatisch?

atreju2oo0 1. Jun 2004 09:27

Re: Panel mit Inhalt 50% transparent machen
 
Sorry... hab nochmal nachgeschaut und Alpha-Blend gibt es nur für das ganze Formular.
Dann wird aber auch alles auf dem Formular durchsichtig...
Ich hatte aber mal ne Möglichkeit gefunden, glaube ich...
Finds nur nicht mehr. Vom Prinzip läuft das aber so das Du 4 Byte pro Pixel hast und einer davon ist der Alpha-Kanal! Bei nem Bitmap könnte man mit scanline die Bytes auslesen und dann halt überschreiben aber ich glaube das funktioniert nicht mit nem Panel...
:wall:

Nicodius 1. Jun 2004 09:48

Re: Panel mit Inhalt 50% transparent machen
 
also logisch würds so gehen :)

--> einmal in ein Form ein panel geben alphablend 50, true schalten

--> screenshot (das panel wird ja aauch durchsichtig)

das bild nacher reinladen :mrgreen:

S2B 1. Jun 2004 10:27

Re: Panel mit Inhalt 50% transparent machen
 
Ähm, meinst du das jetzt ernst oder was? :shock: Sowas bringt mich nämlich nicht wirklich weiter...

mirage228 1. Jun 2004 10:31

Re: Panel mit Inhalt 50% transparent machen
 
Hi,

habe gerade versucht, den Code aus der Forms.pas für das Transparent-Machen der Form auf ein Panel bzw. einen Button anzuwenden - Es hat leider nicht geklappt. Habe ich das Handle des Forms in meinen Testcode eingesetzt hat es geklappt - aber es wurde halt die ganze Form halb-transparent. :?

Du musst wohl nach einer anderen Möglichkeit suchen... :gruebel:

mfG
mirage228

S2B 1. Jun 2004 10:34

Re: Panel mit Inhalt 50% transparent machen
 
Könnte es auch eine Lösung geben, die von allen Betriebssystemen unterstützt wird? :gruebel:

Nicodius 1. Jun 2004 10:36

Re: Panel mit Inhalt 50% transparent machen
 
nonvcl :thuimb:

S2B 1. Jun 2004 10:38

Re: Panel mit Inhalt 50% transparent machen
 
:wiejetzt: Könntest du mir das bitte ein bisschen genauer erklären? Mit dem einen (bekannten) Stichwort kann ich relativ wenig anfangen...

Edit: Soviel ich weiß kann man mit NonVCL genauso viel machen wie mit VCL! :wink:

mirage228 1. Jun 2004 10:38

Re: Panel mit Inhalt 50% transparent machen
 
Zitat:

Zitat von S2B
Könnte es auch eine Lösung geben, die von allen Betriebssystemen unterstützt wird? :gruebel:

Hi,

die Prozedur SetWindowLayerAttributes wird in Forms.pas dynamisch aus der user32.dll geladen.

Aufgrund der Aussagen in der OH über AlphaBlend nehme ich an, dass dieses Feature erst ab Windows 2000 unterstüzt wird.

Du müsstest die Komponenten also selbst zeichnen und dafür sorgen, dass diese transparent sind.

Eventuell findest du ja bei torry oder so eine Komponente dafür.

mfG
mirage228

Sanchez 1. Jun 2004 10:39

Re: Panel mit Inhalt 50% transparent machen
 
Zitat:

Zitat von Nicodius
nonvcl :thuimb:

Toller Lösungsvorschlag :wall:
Ich kann aber leider auch nicht helfen.

atreju2oo0 1. Jun 2004 10:45

Re: Panel mit Inhalt 50% transparent machen
 
Du könntest sozusagen den Desktop fotografieren und dann dein Form selbst rübermalen...
Aber es wäre ein riesiger Aufwand mit relativ wenig Nutzen weil Du es nicht hinkriegen kannst das zum Beispiel über ein Prog wie 3DS-Max gemalt wird, ohne crasse Performanceprobleme zu kriegen (ASFAIK).
Hab den oben erwähnten Code auch nicht gefunden... Kein Plan ob ich das nicht mal geträumt hab... :drunken:

Aber vielleicht beschreibst Du mal dein Ziel etwas näher damit man über andere Lösungen mal nachdenken kann... ?

S2B 1. Jun 2004 10:57

Re: Panel mit Inhalt 50% transparent machen
 
Zitat:

Zitat von atreju2oo0
Aber vielleicht beschreibst Du mal dein Ziel etwas näher damit man über andere Lösungen mal nachdenken kann... ?

Also, ich möchte ein Panel so wie eine Form transparent kriegen, damit man die Komponenten, die dahinter liegen, sehen kann! Also wenn TPanel AlphaBlend hätte, dann würde ich das benutzen und mich nebenbei nach einer Lösung für alle Betriebssysteme umschauen!

Ich überlege mir schon, ob ich nicht ein TImage nehme und mit Canvas transparent machen soll! Ich hab nur keinen Schimmer, wie das geht...

Also für das Imageproblem hab ich jetzt ne Lösung gefunden! Ich versuchs jetzt erst mal so!

Nicodius 1. Jun 2004 11:30

Re: Panel mit Inhalt 50% transparent machen
 
Zitat:

Ich überlege mir schon, ob ich nicht ein TImage nehme und mit Canvas transparent machen soll! Ich hab nur keinen Schimmer, wie das geht...

........ dann machs gleich auf die methode von mir(bild speichern und nacher reinladen :D)

das geht auf jeden fall ;)

S2B 1. Jun 2004 11:34

Re: Panel mit Inhalt 50% transparent machen
 
Schau mal in mein Edit! :wink:

Wenn noch jemand ne Idee hat, wie das eleganter gehen könnte, dann schreibt sie doch bitte hier rein!

badera 17. Nov 2004 19:25

Re: Panel mit Inhalt 50% transparent machen
 
Hast Du jetzt eine Lösung gefunden? Ich möchte auch ein Panel transparent machen!

- badera


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