On Mon, Aug 1, 2011 at 7:53 PM, Ray Pasco
<pasco...@gmail.com> wrote:
You want to do the exact opposite of what the attached demo does ...
I stand corrected: When using the style wx.FRAME_SHAPED all Frame decorations can't exist. Only the Client area remains to manipulate with transparency. There doesn't seem to be an easy way to accomplish this, probably because it's rarely wanted.
1) You could create your own title bar with buttons to recreate what the standard title bar does.
2) Two frames could be created that are positionally "synced" to each other. The first would be a normal Frame whose Client area vertical size is 0. This gives you all the buttons.
The second frame is wx.FRAME_SHAPED. Handling wx.EVT_MOVE on the on the top visible Frame gives the position location of the bottom edge in which the lower invisible Frame is to aligned exactly underneath. If you need the west, south and east side borders in the lower Frame you could create a PNG file of these and display this bitmap into the lower Frame using a mask bitmap derived from the border bitmap itself. This "border" wouldn't normally be functional since its just a bitmap, not a real border control. The rest of this Frame's interior is made transparent.
This method is a kludge, but it should work well enough. It can't easily be resized, but I don't know if this is a requirement. You also haven't stated the purpose of the invisible Client interior.
--
Ray Pasco