Thank you both for your comments. I won't repeat them because of size. David;
I do have a concrete example (given below). Behavior: 1. A window containing a list view w/caption and scroll bar is displayed. 2. On clicking the terminate ('X') in the list view I expect that my list view terminate sub (ReportBox_Terminate) will be called. 3. The ReportBox_Terminate subroutine is never called (the print statement is not executed). What should the event handler name be (<object name>_<event name>) so that termination of the list box will cause the event handler to be invoked? Code: #! /bin/perl use Win32::GUI ( WS_BORDER # Exporter doesn't seem to correctly , WS_CAPTION # export values given in GUI.pm , WS_CHILD # @EXPORT = qw( ); , WS_SYSMENU, , WS_VISIBLE ); # Thin binding to Win32 GUI use strict; # Strict checking pragma use integer; # Computations done using integer arithmetic use warnings; my $window; my $ListBox; # Output report listing sub MainWnCreate; sub myWindow_Terminate; sub ReportBox_Terminate; #---------------------------------------------------------- # MainWnCreate #---------------------------------------------------------- sub MainWnCreate{ $window = new Win32::GUI::Window( -name => "myWindow", -title => "VAX to PC Realignment", -left => 300, #0 -top => 200, #0 -width => 320, -height => 240, ); $ListBox = $window->AddListbox( -disabled => 0, -name => "ReportBox", -pos => [ 100, 40 ], -size => [ 100, 100 ], -style => 1024 | WS_BORDER | WS_CAPTION | WS_SYSMENU, -title => "Report", -visible => 0 ); } ### MainWnCreate sub myWindow_Terminate { print "myWindow_Terminate\n"; return -1; } ### myWindow_Terminate sub ReportBox_Terminate{ print "ReportBox_Terminate\n"; return 1; } #---------------------------------------------------------- # Main- #---------------------------------------------------------- &MainWnCreate; $window->Show(); $ListBox->Show(); Win32::GUI::Dialog();