RzPanel Transparent sometimes not

Components on the Raize Panels palette: panels, group bars, page controls, splitters, toolbars, status bars, group boxes, etc.

RzPanel Transparent sometimes not

Postby MikevTaos » Wed Feb 17, 2016 4:21 am

The Transparent property of RzPanel in RC 6.2.1 does not show all other components through it in XE6 under Windows 7. For instance, a simple TLabel and a TSpeedButton are seen through the transparent panel, but a TDBGrid and a TBitBtn are not.

I'm assuming that this is, in some sense, normal due to something about these components.

What I'd like to know is if there is anything that can be done to see other components through the transparent panel. Is there a property of TRzPanel in addition to Transparent that I should be using so that I can see a TDBGrid or a TwwDBGrid (InforPower) through the TRzPanel?

Edit: I note that of the components I've tested with this, the ones that have a TabStop and TabOrder property are not seen through a RzPanel with Transparent set to True.

Is that a limitation of the scheme you've used to implement the Transparent behavior?
Attachments
Konopka 6 2 1 TRzPanel not always transparent.png
Konopka 6 2 1 TRzPanel not always transparent.png (25.86 KiB) Viewed 4008 times
MikevTaos
 
Posts: 15
Joined:
Tue Nov 01, 2011 10:38 pm

Re: RzPanel Transparent sometimes not

Postby Raize Support » Fri Feb 19, 2016 1:16 am

Hi,

The difference in behavior is based on whether a control is a TGraphicControl or a TWinControl. Controls that take the keyboard focus such as TDBGrid and TBitBtn are TWinControl descendants and have their own window handle. Controls that do not require window handles descend from TGraphicControl.

The transparency functionality implemented in TRzPanel (and pretty much all VCL-based controls) is for the control to paint the control's parent surface onto the control. This gives the appearance of the control being transparent. This is quite different that FMX and WPF which use a rendering system to manage the displays of layers of controls.

Because TGraphicControls such as TLabel and TSpeedButton are actually drawn by their parent, they are included when the transparent control draws the parent's background. The other windowed controls are drawn by themselves and therefore do not get drawn in with the parent's background.

Ray
Raize Software Support
Raize Software
http://www.raize.com
Raize Support
 
Posts: 613
Joined:
Fri Mar 25, 2011 9:04 pm

Re: RzPanel Transparent sometimes not

Postby MikevTaos » Fri Feb 19, 2016 1:01 pm

Thanks, Ray, that all makes sense. I just hadn't realized that the transparent property was affected by anything that would make it not work over some components. Now I know I cannot use it as a kind of a look-but-dont-touch shield as you might see at a museum.

I also have Wall2Woll's panel in the FirstClass lib, and its transparent property doesn't seem to work over anything I've tried. I've only done one FMX app and since Raize is not available for that, it was a bit of a pain but it seems like it is a kind of nex-gen approach to everything and will have some advantages once it is a bit more mature.

Nice to see the Konopka controls offered from Embarcadero now. This will be especially handy when I upgrade from XE6 & XE8 to the latest.
MikevTaos
 
Posts: 15
Joined:
Tue Nov 01, 2011 10:38 pm


Return to Panels

Who is online

Users browsing this forum: No registered users and 3 guests

cron