Thanks Joe.
> Date: Mon, 19 Mar 2007 13:15:14 -0700
> From: [EMAIL PROTECTED]
>   
> It sounds like you have overlapping Canvases.  That's generally a Bad
> Idea, and I don't recommend it.  If your interface is very complex and
> custom, maybe what you want is a single big Canvas, in which you draw
> and handle everything.
>
>   
Re: Overlapping: I've got a small (button) canvas over a large 
background canvas. but did avoid partial overlaps which does produce 
unspeakable horrors. The interface wasn't all that complex until I 
wanted background gradient effects, transparent buttons, translucent 
group boxes and a tab control that behaved differently than the built-in 
or commercial controls. From a nicely encapsulated button or two, the 
thing mushroomed. This may be the time to refactor into one large canvas 
that does it all.
> Hmm, I'm surprised that works.  Passing False to the Refresh method
> tells it NOT to erase (re-establish the background) before invoking the
> Paint event.  I never use this method myself, but then again, I hardly
> ever call Refresh at all.  Much better to just draw directly to the
> canvas.graphics property.
>
>   
Can't answer that. I'm actually finding that passing True and passing 
False both seem to behave the same way once everything is redrawn. 

Regarding just drawing directly to canvas.graphics -- that won't permit 
the background to show through. If I want to change the caption, icon or 
outline of a transparent button how do I erase the current graphic 
without erasing the background? Me.Refresh causes the underlying control 
to repaint itself effectively erasing the entire control. Then I can 
redraw the button with the new effects in place.

-Tom

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to