![]() |
Re: Transparenz wie bei Vista
Liest du die Antworten eigentlich?
Zitat:
Ansonsten kann ich eigentlich auch prima VCL Komponenten mit LayeredWindows benutzen. |
Re: Transparenz wie bei Vista
Zitat:
![]() |
Re: Transparenz wie bei Vista
![]() Diesen Screenshot hat er gepostet. Und wenn das kein AlphaBlending ist, dann dann gebe ich dir einen an der DP-Bar aus. :mrgreen: |
Re: Transparenz wie bei Vista
Und wie erklärst du dir, dass der Text normal lesbar ist? Wenn ich eine komplette Form via AlphaBlend transparent mache, ist das nämlich nicht mehr der Fall...
|
Re: Transparenz wie bei Vista
Bzw. ist wäre auch der weiße Hintergrund transparent, das ist er aber überhaupt nicht.
Also, wo ist die DP-Bar? :mrgreen: On-Topic: ist es möglich, bestimmte Zonen vom AlphaBlending auszunehmen? Dann könnte man das so rum machen |
Re: Transparenz wie bei Vista
Zitat:
![]() Dort steht Layered Windows Using a layered window can significantly improve performance and visual effects for a window that has a complex shape, animates its shape, or wishes to use alpha blending effects. [...] layered windows can be partially translucent, that is, alpha-blended. To create a layered window, specify the WS_EX_LAYERED extended window style when calling the CreateWindowEx function, or call the SetWindowLong function to set WS_EX_LAYERED after the window has been created. After the CreateWindowEx call, the layered window will not become visible until the SetLayeredWindowAttributes or UpdateLayeredWindow function has been called for this window. Note that WS_EX_LAYERED cannot be used for child windows. Sprich: in #5 duerfte der letzte Absatz als Unfug bezeichnet werden :stupid: Wie es schlussendlich funktioniert, weiss ich nicht. Aber ich hab das Gefuehl, dass das nach einem AlphaChannel riecht. *g* Zumindest keonnte man so bestimmten Bereichen eine gewisse Transparenz zuschreiben, und anderen wieder nicht. (bspw. ist die aeusserste Pixelreihe des Rahmens wieder nicht transparent...) Wie das genau funktioniert, das weiss ich nicht, waere aber auf ein Ergebnis gespannt ;) greetz Mike |
Re: Transparenz wie bei Vista
Na gut, ihr habt Recht. Ich hätte schwören können, dass das früher nicht so war, ich verwechsle wohl irgendwie immer Transparent und AlphaBlend und so weiter.
@alias: Die DP Bar ist natürlich auf der USS Delphi-PRAXiS. Aber du kriegst nix, nur Daniel G hab ich nen Drink versprochen. :mrgreen: @Jason: Man könnte auf die Form zeichnen, was eigentlich hinter der Form sein sollte, allerdings nicht komplett das, was dahinter sein sollte, sondern einen Mischwert aus Farbe hinter der Form und Farbe auf der Form. Also in etwa so:
Delphi-Quellcode:
Das ganze ist jetzt nur mal so schnell dahingetippt, ich erhebe keinen Anspruch darauf, dass das funktioniert. Aber aus dem Prinzip könnte man was machen.
Repaint;
for I:=0 to topborder-1 do for J:=0 to width-1 do canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor; for I:=height-bottomborder-1 to height-1 do for J:=0 to width-1 do canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor; for topborder to height-bottomborder-1 do for J:=0 to leftborder-1 do canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor; for topborder to height-bottomborder-1 do for J:=width-rightborder to width-1 do canvas.pixels[i, j]:=canvas.pixels[i, j] or bgcolor; |
Re: Transparenz wie bei Vista
Zitat:
Zitat:
Kurz: Das ist IMO der falsche Weg. greetz Mike |
Re: Transparenz wie bei Vista
naja, meine lösung die ich hatte lief ohne Canvas.Pixels. Eigentlich war die Methode auch nicht so langsam :? aber es gab halt das Problem mit dem Verschieben der Form etc.
|
Re: Transparenz wie bei Vista
Ganz sicher, dass das in Miranda Standard-Controls sind ;) ?
Vielleicht lassen sich auch die VCL-Controls nutzen, indem sie bei jedem WM_PAINT auf das Bitmap gemalt werden (natürlich mit A = 255 ;) ) und danach wieder UpdateLayeredWindow aufgerufen wird. Einfacher wäre es allerdings, auf Avalon zu warten :mrgreen: . |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:29 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