![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
|
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.
br> br> |
| |||||||
![]() |
| | Thread Tools | Display Modes |
| | #1 (permalink) |
| 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 |
|
|
| |
| | #2 (permalink) |
| 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 |
|
| | #3 (permalink) |
| 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 |
|
| | #4 (permalink) |
| 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 |
|
| | #5 (permalink) |
| 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 |
|
| | #6 (permalink) |
| 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 |
|
| | #7 (permalink) |
| 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 |
|
| |
| |