Arthur Schwarz wrote:
Thank you for doing what you're doing. There are some questions:
1. When I tried an install Win32_GUI_1.04 to an activestate perl, TieRegistry was not defined (and in it's turn, Registry was not installed). Should this be part of the release notes?
Assuming that you mean Win32::TieRegistry and Win32::Registry packages,
then they are not a part of Win32::GUI. I would, however, expect them
to be installed as part of an ActiveState Perl install.
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?
Regards,
--
Robert May
Win32::GUI, a perl extension for native Win32 applications
http://perl-win32-gui.sourceforge.net/