use Win32::GUI(); sub TME_HOVER() {1} sub TME_LEAVE() {2} sub HOVER_DEFAULT() {0xFFFFFFFF} $state = 0; $mw = Win32::GUI::Window->new( -title => 'Test', -pos => [170,100], -size => [200,220], ); $label = $mw->AddLabel( -background => [0,0,255], -pos => [ 70, 60 ], -size => [50, 50 ], -onMouseOver => sub { $label->Change(-background => [255,0,0], ); return 0; }, -onMouseOut => sub { $label->Change(-background => [255,0,0], ); $state=0; return 0;}, -onMouseMove => \&Move, ); $mw->Show(); Win32::GUI::Dialog(); exit(0); sub Move { return unless $state == 0; $state = 1; $label->TrackMouse(500,TME_HOVER|TME_LEAVE); return 1; }