#! perl -w # # Test Grid method # - Virtual mode # - EndEdit event in virtual mode # use strict; use warnings; use Win32::GUI qw(WS_CLIPCHILDREN); use Win32::GUI::Grid; # main Window my $Window = new Win32::GUI::Window ( -title => "Win32::GUI::Grid test 4", -pos => [100, 100], -size => [400, 400], -name => "Window", -addstyle => WS_CLIPCHILDREN, ) or die "new Window"; # Grid Window my $Grid = $Window->AddGrid ( -name => "Grid", -pos => [0, 0], -rows => 50, # Use create option -columns => 10, -fixedrows => 1, -fixedcolumns => 1, -editable => 1, -virtual => 1, ) or die "new Grid"; # $Grid->SetVirtualMode(1); # Set virtual before set rows and columns # $Grid->SetRows(50); # $Grid->SetColumns(10); # $Grid->SetFixedRows(1); # $Grid->SetFixedColumns(1); # $Grid->SetEditable(1); $Grid->SetCellBkColor(2, 2, 0xFF0000); # Event loop $Window->Show(); Win32::GUI::Dialog(); # Main window event handler sub Window_Terminate { return -1; } sub Window_Resize { my ($width, $height) = ($Window->GetClientRect)[2..3]; $Grid->Resize ($width, $height); } # Virtual Grid request data sub Grid_GetData { my ($row, $col) = @_; return "Cell ($row, $col)"; } sub Grid_EndEdit { my ($col, $row, $str) = @_; print "End Edit ($col, $row) = $str\n"; return 1; }