[shell-coding] Re: owner/owned zorder

> >
> > don't know if that's why it was originally added, but unowned
> > topmost windows with a caption show up in the taskmanager
>
> Ah, I see.  I always solved that by not setting a caption, which I
> imagine would work in most cases.  (although it might be appropriate to
> use it for label, but I don't know)
>

it's useful for multi-instance modules where you want to be able to identify
individual windows (like for lsdynamic to move a label and such)


> > >
> > > The litestep window should probably be created with
> > > HWND_MESSAGE, which would avoid zorder all together
> > > (on systems where it's supported)
> >
> > it couldn't then be the owner of labels/layercuts etc without
> > them becomming message windows too though, right?
>
> Yeah probably, compatibility vs correctness.  :/
>
> Intercepting WM_WINDOWPOSCHANGING always seemed inelegant to me.
> Sometimes it's necessary, but I would prefer to avoid it where it isn't.
>

yeah, interfering too much with WM_WINDOWPOSCHANGING (particularly related
to not going where the system wants you to go in the zorder) can be bad, but
for owner/owned windows that seems to be the way to avoid interfering with
other windows' zorder.

> Failing that, the litestep window should be always on top and the desktop
> window should not be owned by it.  On-bottom windows are children of the
> desktop and won't show up in the task list anyway.  (how do owner and
> parent interact with zorder?)
>

that should work. the parent relationship seems to override the
owner-relationship, so using that trick with enabling WS_CHILD, setting the
parent to the desktop, resetting WS_POPUP and calling SetWindowPos() makes
the window onbottom without interfering with the ownerchain


__________________________________________________
Subscription options and archive:
http://www.freelists.org/list/shell-coding

Other related posts: