Jeremy White wrote:
Coincidentally, I've been working on a similar problem and was very interested

For example:

my $win=Win32::GUI::Window::CreateFromHandle($handle);
$win->Show; #no problem
$win->Hide; #no problem
$win->SomeControl->Show(); #how would we know a control called 'SomeContol' exists?

A control called 'SomeControl' doesn't exist if this is window created outside Win32::GUI. Navigating the window tree can't be done like this.

You could already do something like this (untested):

my $win = { -handle => 1234 };
bless $win, "Win32::GUI::Window"; # or other appropriate class
$win->Move( ... ) etc.

You'll need to make sure the you do

$win->{-handle} = undef;

Before $win goes out of scope, to avoid calling the destructor; although if you're in a different thread to the one that created the window the DestroyWindow docs say 'A thread cannot use DestroyWindow to destroy a window created by a different thread' - but don't say what happens if you try.

Regards,
Rob.

Reply via email to