From: The D. <the...@bl...> - 2005-07-09 18:31:32
|
I've thought of something useful, but I don't know if it can be done. First, the reason for asking... I can disable a set of controls by wx.wxEnable(nil) on a parent window, but this changes the appearance, often in ways I do not want. Or, I can make a dialog overlay that is transparent, but this only works in Windows, and I'd have to find ways to prevent tabbing and scrollwheels from affecting the masked controls. I decided that the best answer might be to use a control that fools transparency by opying the area under the control, as it is made, so it is an image layer that appears to be transparent. There are four advantages: 1. I can disable the group window underneath after the new control is displayed, so the appearance is retained as if there was an active set of controls. 2. As it doesn't need real transparency, it could more likely be platform independent. 3. The disabling of the real surface underneath means that there is no chance of a masked control being interfered with. 4. I can disable or otherwise change singular aspects of the control surface in the moment before the layer mask is shown, and then disable the whole underlying surface. This can give a lot of control over how the disabled controls are displayed in the masking window. Please can you tell me if this is doable? In effect it must be a display of a screenshot of the relevent area, made the moment before it is displayed as a layer masking the real surface. |