Hi Razzak, Emmitt and Claudine,
I really appreciate your input on this!  There is one more factor in this 
situation (isn't there always?).  Picture a form with a bar across the bottom 
with "Customize", "User Management", "Print" and "Help" buttons on the bar (see 
below).  The "bar" is actually a separator used as a backdrop to the buttons 
and then the four buttons are placed on top-all for the cool look this gives.  

The Help button brings up three identical blue gradient enhanced speed buttons 
for a help form, a help request screen and an "about" screen.  These three 
buttons are in a vertical arrangement immediately above the "Help" button, and 
end up being in front of one of the main 6 selection buttons on the main 
selection screen, we'll call it the "search" button (also an enhanced speed 
button).  

If I make the search button invisible, the back of the form has no artwork on 
it and it looks like a hole in a portrait, since the help buttons are quite a 
bit smaller than the search button...each main button (including the search 
button) has a .bmp image of a relevant scene, adding to the nice look.  

My solution was to "stack" the layers by send_to_back property commands, 
ordering each layer as desired.  Drifting the mouse across any of the main 
buttons changed the way the stack acted, so I created a shape, set it to clear 
and made it like a "windowpane" over all of the main buttons.  It is 
sent_to_back until the "Help" button is clicked, then it is brought to the 
front and the help buttons are "stacked" one at a time on top of it.  THEN, 
since a mouse drifting over and then off of any of the help buttons over the 
"search" button would cause the help buttons to randomly be in back of, and 
then in front of the search button, I created a small shape which the 3 
identical buttons are placed on when they are activated by the help button.

Then I use property commands to send_to_back each of these layers in the right 
order to get the effect I want.  

This works great...to a point, but there is an intermittent nature to it which 
has eluded me so far...it could be something in my coding, but so far the 
coding all seems ok.  

So I am trying to maintain the "look" of the form (which is very cool), while 
attempting to eliminate a small but undesirable glitch in the way the help 
buttons work.  

Thanks again for your input...the 80/20 rule is really getting me on this 
project!  If any of this triggers a "hmmm...I wonder if THIS would work" for 
any of you, please pass it along!

All the best,
Ted


>>> Claudine Robbins<[EMAIL PROTECTED]> 6/10/2008 10:05 AM >>>
Ted,

Emmitt is right.  Let's say you have 4 objects.

When you make object1 visible, make the others invisible

PROPERTY ci_object1 VISIBLE 'TRUE' -- object1 is visible
PROPERTY ci_object2 VISIBLE 'FALSE'
PROPERTY ci_object3 VISIBLE 'FALSE'
PROPERTY ci_object4 VISIBLE 'FALSE'

Then, when you switch to object2...
PROPERTY ci_object1 VISIBLE 'FALSE
PROPERTY ci_object2 VISIBLE 'TRUE' -- object2 is visible
PROPERTY ci_object3 VISIBLE 'FALSE'
PROPERTY ci_object4 VISIBLE 'FALSE'

Etc...

Claudine

________________________________________
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Ted Lienhard
Sent: Tuesday, June 10, 2008 11:39 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Sending Objects to Back/Bringing Objects to Front

Is there a way to tell what "layer" an object is in on a form?  I have
several objects that are placed on top of each other, specific ones are
called by an EEP, enabled and made visible.  A problem arises when the
desired object is behind the desired object when it is enabled and made
visible.  I need to assign different objects to different layers in order to
preserve the appearance of the form to the user.

>From what I can tell, the send_to_back / bring_to_front functions are in
layers, like an Autocad object, not just binary (either front or back). 
They also seem to follow a FIFO pattern; When object "A" is sent to back
first, it is at the lowest layer...then, when a second object ("B") is sent
to back,  it becomes the lowest layer, and "A" is moved towards the front by
one layer.  Send object "C" to back, and it is now the lowest layer , with
"B" moved up one layer and "A" being the top layer.  

Is there a Getproperty command which would reveal the layer?  A property
command to assign the layer?  I am trying to "shuffle" the order of objects,
but am getting inconsistent results.

Any ideas or input are appreciated!

Best Regards,
Ted

Ted Lienhard CNE NCT
Golden Valley Consulting

Reply via email to