Hi Alex,

On 5/8/2018 6:24 AM, Alex Harsanyi wrote:

On Tuesday, May 8, 2018 at 2:08:02 PM UTC+8, gneuner2 wrote:


    So I guess the 1st question to answer is: does the GDI object have
    the
    correct parent HWND?  [The Racket dialog% object has a parent, but
    does
    the underlying display object?]   If it does, there's something weird
    going on in finding the right window to switch to.


I had a look at the application windows using Spy++ and all three windows (the main frame and the two dialog ones) are toplevel windows, as expected; however they are linked together as GetNextWindow/GetPreviousWindow correctly. Unfortunately, I am not very familiar with Windows GDI programming, but I will try to trace the messages to the windows themselves.

I'm not sure why exactly Racket creates "top level" windows everywhere [other than for the annoying issue that style WS_CHILD prevents a window from having a menu bar].  Maybe it's just terminology - i.e. it's not a WS_CHILD, so what do we call it?


Also, if I only open the first dialog, than close it, the main frame does not go to the bottom of the window stack...

Yes. I saw that.  It makes me wonder about how (or even if) Racket is using GetNextWindow.  Since the Racket objects form their own hierarchy, Racket could be walking *that* structure to find the window rather than letting GDI handle it.


Thanks for looking into this.

"Looking into" is perhaps too strong to describe what I did, but you're welcome. <grin>


Alex.

George

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to