#! perl -w # # Test multiple Grid instance # 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 6", -pos => [100, 100], -size => [400, 400], -name => "Window", -pushstyle => WS_CLIPCHILDREN, ) or die "new Window"; # Grid Window my $Grid = new Win32::GUI::Grid ( -parent => $Window, -name => "Grid", -pos => [0, 0], -rows => 10, -columns => 10, -fixedrows => 1, -fixedcolumns => 1, ) or die "new Grid"; my $Grid2 = new Win32::GUI::Grid ( -parent => $Window, -name => "Grid2", -pos => [0, 0], -rows => 20, -columns => 20, -fixedrows => 1, -fixedcolumns => 1, ) or die "new Grid2"; # Fill Grid for my $row (0..$Grid->GetRows()) { for my $col (0..$Grid->GetColumns()) { if ($row == 0) { $Grid->SetCellText($row, $col,"Column : $col"); } elsif ($col == 0) { $Grid->SetCellText($row, $col, "Row : $row"); } else { $Grid->SetCellText($row, $col, $row*$col); } } } for my $row (0..$Grid2->GetRows()) { for my $col (0..$Grid2->GetColumns()) { if ($row == 0) { $Grid2->SetCellText($row, $col,"Column : $col"); } elsif ($col == 0) { $Grid2->SetCellText($row, $col, "Row : $row"); } else { $Grid2->SetCellText($row, $col, $row*$col); } } } # Resize Grid Cell $Grid->AutoSize(); $Grid2->AutoSize(); # Event loop $Window->Show(); Win32::GUI::Dialog(); exit(0); # Main window event handler sub Window_Terminate { return -1; } sub Window_Resize { my ($width, $height) = ($Window->GetClientRect)[2..3]; $Grid->Resize ($width, $height/2); $Grid2->Move (0, $height/2); $Grid2->Resize ($width, $height/2); } sub Grid_Click { my ($row, $col) = @_; print "Grid cell ($row, $col)\n"; } sub Grid2_Click { my ($row, $col) = @_; print "Grid2 cell ($row, $col)\n"; }