Hi all, I know I'm getting naggy with things that no one ever comes across. This time it's hiding select objects with $main->buggything->Hide(). When I bring one back with Show() I need it to be on top, so I do $main->buggything->BringWindowToTop(). Here's the catch: - I only ever come on top of every other object that has previously been hidden - I have to do Win32::GUI::DoEvents() between Show() and BringWindowToTop() or the object will actually land underneath all others, so effectively it makes a SendWindowToBack()
These are not reliable results, the effects vary with factors I fail to recognise (moon phase or so). My message is, Show/Hide and BringWindowToTop don't seem to mix. If I ever hide an object (or try to sneak around hiding by moving it off the visible client area), the next BringWindowToTop will send it on top of all other objects previously hidden, but beneath all "static junk". Is that a MicroStuff "feature" or is this Win32-GUI specific? How do I show a previously hidden thing on top of everything else? Any other way to affect the Z-order? Please don't tell me to hide and show all my objects. I tried and, guess what, just to annoy me, that doesn't work. My embarassing work-around is to recreate the objects with $main->AddStuff() ... ouch.