#!perl -w
use strict;
use warnings;

use Win32::GUI();

sub TME_HOVER() {1}
sub TME_LEAVE() {2}
sub HOVER_DEFAULT() {0xFFFFFFFF}

my $state = 0; # 0 - out; 1 - in;

my $mw = Win32::GUI::Window->new(
	-title => "MouseOver/Out",
	-pos => [100,100],
	-size => [400,300],
	-onMouseOver => sub {print "Hover\n"; return 0;},
	-onMouseOut  => \&Out,
	-onMouseMove => \&Move,
);

$mw->Show();
Win32::GUI::Dialog();
exit(0);

sub Out
{
    print "Out\n";
    $mw->Change(-titlebar => 0);
    $state = 0;
    return 0;
}

sub Move
{
	return unless $state == 0;
	$mw->Change(-titlebar => 1);
	print "In\n";
	$state = 1;
	$mw->TrackMouse(1000,TME_HOVER|TME_LEAVE);
	return 1;
}
