Robert May <[EMAIL PROTECTED]> wrote: <snip> > 2. In the example code below, AbsLeft and AbsTop do not work as (I) expected. AbsLeft moves the Y coordinate and AbsTop moves the X coordinate. I expected these coordinates to not change. Is my understanding correct?
[ snip code ] Indeed, there seems to be a problem with AbsLeft and AbsTop, although it's not clear to me from either the documentation or the code what they're meant to do. I would assume that they're meaning to set the window position in Screen co-ordinates, as they retrieve the screen co-ordinates, but then use them as client co-ordinates ... In your example of AbsLeft(), the window moves down, as the top co-ordinate is read in screen co-ordinates, and then used as a client co-ordinate when setting the window position. The code also looks like it might have been trying to leave the bottom-right corner of the window unmoved, although I think this is unlikely to what is expected. I wouldn't expect the behaviour to be the same as the Left/Top methods, as if this was intended, then the implementation would, almost certainly have been done as an alias for Left/Top. I've raised a bug report, which includes a short script showing the problem: https://sourceforge.net/tracker/index.php?func=detail&aid=1578492&group_id=16572&atid=116572 and propose to 'fix' the behaviour of these 2 calls to be setting the co-ordinate of the window in screen co-ordinates. Any objections? It is as I expected, you have anticipated and done exactly the right thing with the minimum of effort. Thanks. Regards, -- Robert May Win32::GUI, a perl extension for native Win32 applications http://perl-win32-gui.sourceforge.net/