Vista Forums
Vista Forums Home Join Vista Forums Donate Vista Tutorials Store Tags

Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. Whether you need help or just want to post an idea you have on Vista, this is the forum for you.
Register at Vista forums...the world biggest Windows Vista resource Join Vista Forums

Go Back   Vista Forums > Vista technology newsgroups > Aero

Deskbands and aero glass taskbar transparency

Reply
 
Thread Tools Display Modes
Old 08-23-2006   #1 (permalink)
Pix
Guest
 
Posts: n/a

Deskbands and aero glass taskbar transparency


I have been trying to find a way to stop the taskbar from losing
transparency whenever my deskband is activated. After many hours of
searching I found out that I need to implement IDeskBand2 interface.
So the deskband doesn't cause the taskbar to lose transparency any
more but now my deskband does not look too pretty when I try to move
other windows underneath the transparent taskbar. It starts changing
colors in a crazy way (blacks and greens becoming whites).

I have observed the behavior of other built-in deskbands (such as
Address) and I found them to be only about 20-30% transparent, with no
whitening effect.

Is there some new API function that I can use to control the level of
transparency of my deskband on Vista? I don't need anything fancy for
a start. All I want is just a standard eye-pleasing behavior, like the
built-in deskbands.

Pix

  Reply With Quote

Old 08-24-2006   #2 (permalink)
Chris Hill
Guest
 
Posts: n/a

Re: Deskbands and aero glass taskbar transparency

On Wed, 23 Aug 2006 23:41:51 +0200, "Pix" <pix@pix-no-spam-please.com>
wrote:

>
>I have been trying to find a way to stop the taskbar from losing
>transparency whenever my deskband is activated. After many hours of
>searching I found out that I need to implement IDeskBand2 interface.
>So the deskband doesn't cause the taskbar to lose transparency any
>more but now my deskband does not look too pretty when I try to move
>other windows underneath the transparent taskbar. It starts changing
>colors in a crazy way (blacks and greens becoming whites).
>
>I have observed the behavior of other built-in deskbands (such as
>Address) and I found them to be only about 20-30% transparent, with no
>whitening effect.
>
>Is there some new API function that I can use to control the level of
>transparency of my deskband on Vista? I don't need anything fancy for
>a start. All I want is just a standard eye-pleasing behavior, like the
>built-in deskbands.
>
>Pix
>


How are you drawing your deskband? With GDI? I don't know anything
about deskband programming, but as an experiment you might try
replacing your painting code with something that draws a 32-bit bitmap
with an alpha channel (or even a simple black rectangle to start with,
which I'd expect to be fully transparent). If that works you can draw
your content to a 32-bit DIB section bitmap using GDI, set the alpha
channel of each pixel as you want it using the pointer to the bits,
then draw the bitmap to the window.

Post back if you have any interesting results, there seems to be a
lack of basic information about how Aero and the DWM (desktop window
manager) interacts with drawing in Vista.

Chris
  Reply With Quote
Old 08-24-2006   #3 (permalink)
Chris Hill
Guest
 
Posts: n/a

Re: Deskbands and aero glass taskbar transparency

On Wed, 23 Aug 2006 23:41:51 +0200, "Pix" <pix@pix-no-spam-please.com>
wrote:

>
>I have been trying to find a way to stop the taskbar from losing
>transparency whenever my deskband is activated. After many hours of
>searching I found out that I need to implement IDeskBand2 interface.
>So the deskband doesn't cause the taskbar to lose transparency any
>more but now my deskband does not look too pretty when I try to move
>other windows underneath the transparent taskbar. It starts changing
>colors in a crazy way (blacks and greens becoming whites).
>
>I have observed the behavior of other built-in deskbands (such as
>Address) and I found them to be only about 20-30% transparent, with no
>whitening effect.
>
>Is there some new API function that I can use to control the level of
>transparency of my deskband on Vista? I don't need anything fancy for
>a start. All I want is just a standard eye-pleasing behavior, like the
>built-in deskbands.
>
>Pix
>


How are you drawing your deskband? With GDI? I don't know anything
about deskband programming, but as an experiment you might try
replacing your painting code with something that draws a 32-bit bitmap
with an alpha channel (or even a simple black rectangle to start with,
which I'd expect to be fully transparent). If that works you can draw
your content to a 32-bit DIB section bitmap using GDI, set the alpha
channel of each pixel as you want it using the pointer to the bits,
then draw the bitmap to the window.

Post back if you have any interesting results, there seems to be a
lack of basic information about how Aero and the DWM (desktop window
manager) interacts with drawing in Vista.

Chris
  Reply With Quote
Old 08-24-2006   #4 (permalink)
Chris Hill
Guest
 
Posts: n/a

Re: Deskbands and aero glass taskbar transparency

On Wed, 23 Aug 2006 23:41:51 +0200, "Pix" <pix@pix-no-spam-please.com>
wrote:

>
>I have been trying to find a way to stop the taskbar from losing
>transparency whenever my deskband is activated. After many hours of
>searching I found out that I need to implement IDeskBand2 interface.
>So the deskband doesn't cause the taskbar to lose transparency any
>more but now my deskband does not look too pretty when I try to move
>other windows underneath the transparent taskbar. It starts changing
>colors in a crazy way (blacks and greens becoming whites).
>
>I have observed the behavior of other built-in deskbands (such as
>Address) and I found them to be only about 20-30% transparent, with no
>whitening effect.
>
>Is there some new API function that I can use to control the level of
>transparency of my deskband on Vista? I don't need anything fancy for
>a start. All I want is just a standard eye-pleasing behavior, like the
>built-in deskbands.
>
>Pix
>


How are you drawing your deskband? With GDI? I don't know anything
about deskband programming, but as an experiment you might try
replacing your painting code with something that draws a 32-bit bitmap
with an alpha channel (or even a simple black rectangle to start with,
which I'd expect to be fully transparent). If that works you can draw
your content to a 32-bit DIB section bitmap using GDI, set the alpha
channel of each pixel as you want it using the pointer to the bits,
then draw the bitmap to the window.

Post back if you have any interesting results, there seems to be a
lack of basic information about how Aero and the DWM (desktop window
manager) interacts with drawing in Vista.

Chris
  Reply With Quote
Old 08-25-2006   #5 (permalink)
Pix
Guest
 
Posts: n/a

Re: Deskbands and aero glass taskbar transparency

Chris244@aol.com (Chris Hill) wrote:

>How are you drawing your deskband? With GDI? I don't know anything
>about deskband programming, but as an experiment you might try
>replacing your painting code with something that draws a 32-bit bitmap
>with an alpha channel (or even a simple black rectangle to start with,
>which I'd expect to be fully transparent). If that works you can draw
>your content to a 32-bit DIB section bitmap using GDI, set the alpha
>channel of each pixel as you want it using the pointer to the bits,
>then draw the bitmap to the window.
>
>Post back if you have any interesting results, there seems to be a
>lack of basic information about how Aero and the DWM (desktop window
>manager) interacts with drawing in Vista.


Thanks for your help! I've been thinking about a simpler solution to
make legacy apps (such as my own) cooperate nicely in the new
environment without having the need to rewrite everything.

Basically, my deskband has a few standard windows controls (editbox,
toolbars...) It supports themeing so it works nicely on Windows XP.
Now I've added support for IDeskBand2 which seems to preserve the
taskbar transparency in Vista. So all is well apart from the strange
visual effects when windows are dragged beneath the taskbar and my
deskband.

If my deskband was all GDI, it would be quite easy to follow your
advice but something tells me that setting up a 32-bit bitmap and
drawing all my controls off-screen is not the way to go.

I will try your "black rectangle" test later as I need to run Vista on
a real hardware for Aero to work.

Pix

  Reply With Quote
Old 08-25-2006   #6 (permalink)
Pix
Guest
 
Posts: n/a

Re: Deskbands and aero glass taskbar transparency

Chris244@aol.com (Chris Hill) wrote:

>How are you drawing your deskband? With GDI? I don't know anything
>about deskband programming, but as an experiment you might try
>replacing your painting code with something that draws a 32-bit bitmap
>with an alpha channel (or even a simple black rectangle to start with,
>which I'd expect to be fully transparent). If that works you can draw
>your content to a 32-bit DIB section bitmap using GDI, set the alpha
>channel of each pixel as you want it using the pointer to the bits,
>then draw the bitmap to the window.
>
>Post back if you have any interesting results, there seems to be a
>lack of basic information about how Aero and the DWM (desktop window
>manager) interacts with drawing in Vista.


Thanks for your help! I've been thinking about a simpler solution to
make legacy apps (such as my own) cooperate nicely in the new
environment without having the need to rewrite everything.

Basically, my deskband has a few standard windows controls (editbox,
toolbars...) It supports themeing so it works nicely on Windows XP.
Now I've added support for IDeskBand2 which seems to preserve the
taskbar transparency in Vista. So all is well apart from the strange
visual effects when windows are dragged beneath the taskbar and my
deskband.

If my deskband was all GDI, it would be quite easy to follow your
advice but something tells me that setting up a 32-bit bitmap and
drawing all my controls off-screen is not the way to go.

I will try your "black rectangle" test later as I need to run Vista on
a real hardware for Aero to work.

Pix

  Reply With Quote
Old 08-25-2006   #7 (permalink)
Pix
Guest
 
Posts: n/a

Re: Deskbands and aero glass taskbar transparency

Chris244@aol.com (Chris Hill) wrote:

>How are you drawing your deskband? With GDI? I don't know anything
>about deskband programming, but as an experiment you might try
>replacing your painting code with something that draws a 32-bit bitmap
>with an alpha channel (or even a simple black rectangle to start with,
>which I'd expect to be fully transparent). If that works you can draw
>your content to a 32-bit DIB section bitmap using GDI, set the alpha
>channel of each pixel as you want it using the pointer to the bits,
>then draw the bitmap to the window.
>
>Post back if you have any interesting results, there seems to be a
>lack of basic information about how Aero and the DWM (desktop window
>manager) interacts with drawing in Vista.


Thanks for your help! I've been thinking about a simpler solution to
make legacy apps (such as my own) cooperate nicely in the new
environment without having the need to rewrite everything.

Basically, my deskband has a few standard windows controls (editbox,
toolbars...) It supports themeing so it works nicely on Windows XP.
Now I've added support for IDeskBand2 which seems to preserve the
taskbar transparency in Vista. So all is well apart from the strange
visual effects when windows are dragged beneath the taskbar and my
deskband.

If my deskband was all GDI, it would be quite easy to follow your
advice but something tells me that setting up a 32-bit bitmap and
drawing all my controls off-screen is not the way to go.

I will try your "black rectangle" test later as I need to run Vista on
a real hardware for Aero to work.

Pix

  Reply With Quote
 
Reply

Thread Tools
Display Modes









Vistax64.com is an independent web site and has not been authorized,
sponsored, or otherwise approved by Microsoft Corporation.
"Windows Vista", the Start Orb, and related materials are trademarks of Microsoft Corp.
© Designer Media 2005-2008

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46