can windows be reparented?

Medland, Bill Bill.Medland at accpac.com
Mon Aug 12 11:47:26 CDT 2002


Can anyone help me with this?

I am trying to track down a problem with our software, relating to Visual
Basic and its forms.

We launch a container executable which then loads one of hundreds of OCXes
(compiled from Visual Basic).  One of the things that then happens within
those OCXes is that they use the Visual Basic "load" instruction to load a
different form in a modal way.

Under Windows the form (which is generally larger than the original OCX
form) comes up on the main display, with full usability (you can click on
windows etc).

However under Wine it comes up within the client area of the original and
only responds to keyboard input.  (Luckily Alt+C maps to the Close button so
we can close it).

If I use Spy++ under Windows I can see that when the "popup" form is up then
its parent is 0 but its owner is the ThunderRT6UserControlDC under the ATL
window that is the container.

Under Wine if I watch the CreateWindow calls I see that the ThunderRT6FormDC
parented by the ThunderRT6Main and the ThunderRT6UserControlDC parented by a
STATIC under the ThunderRT6Main.

Unfortunately I know of no way to see what parent was originally specified
under windows.  I presume that it is unlikely that the parentage was altered
after the windows were created.  Does anyone know differently?

Anyone now what might be going on?

Bill



More information about the wine-devel mailing list