(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
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.