Re: 2 bugs in Win32Lib
CoJaBo wrote:
>
> Mousetraps in groups still don't work:
Weird! I could have sworn I tested this, but you're right. A fix
is needed in two places.
In "clientToClient()" replace ...
VOID = w32Func( xClientToScreen, { getHandle( id2 ), pt } )
-- convert from screen space
VOID = w32Func( xScreenToClient, { getHandle( id1 ), pt } )
with ...
VOID = w32Func( xClientToScreen, { getHandle( id1 ), pt } )
-- convert from screen space
VOID = w32Func( xScreenToClient, { getHandle( id2 ), pt } )
and in "createMouseTrap()" replace ...
pRect[1..2] = clientToClient(lRelId, pWindow, pRect[1..2])
pRect[3..4] = clientToClient(lRelId, pWindow, pRect[3..4])
with ...
pRect[3..4] -= pRect[1..2]
pRect[1..2] = clientToClient(lRelId, pWindow, {0,0})
pRect[3..4] = clientToClient(lRelId, pWindow, pRect[3..4])
> add/removeStyle() don't work properly on windows:
Now this one you can't blame on me. Microsoft, in their infinite wisdom,
have decided that you can't set the TOPMOST flag via the normal method.
Instead you need to change the Z-Order. Use this ...
moveZOrder(w, HWND_TOPMOST)
instead of this ...
addStyle(w,{0,WS_EX_TOPMOST})
Why did MS do that? Who knows!!!
I guess I could detect somebody trying to do it the normal way
and silently do it correctly for them.
--
Derek Parnell
Melbourne, Australia
|
Not Categorized, Please Help
|
|