Thank you for doing what you're doing. There are some questions:
1. When I tried an install Win32_GUI_1.04 to an activestate perl, TieRegistry
was not defined (and in it's turn, Registry was not installed). Should this be
part of the release notes?
2. In the example code below, AbsLeft and AbsTop do not work as (I) expected.
AbsLeft moves the Y coordinate and AbsTop moves the X coordinate. I expected
these coordinates to not change. Is my understanding correct?
art
#######################################################
# Example Code #
#######################################################
package Test;
use Win32::GUI::Constants; # Windows constants
use Win32::GUI::Grid; # Thin binding to Win32 GUI Grid
use Win32::GUI; # Thin binding to Win32 GUI
use strict;
use integer; # Computations done using integer arithmetic
use warnings;
sub WindowStart; # start dialog loop
our $TopWindow = new Win32::GUI::Window( # Create Main Window
-name => 'TopWindow',
-helpbox => 1,
-left => 30,
-hashelp => 1,
-height => 450,
-maxwidth => 565,
-minheight => 380,
-minwidth => 565,
-title => 'GUI Editor',
-top => 20,
-width => 570,
);
our $Grid = $TopWindow->AddGrid( # Create Grid object
-columns => 2,
-doublebuffer => 1,
-editable => 1,
-fixedcolumns => 1,
-fixedrows => 1,
-height => $TopWindow->Height()-40,
-left => 400,
-name => "Property Grid",
-rows => 10,
-top => 0,
-visible => 1,
-vscroll => 0,
-width => 150,
);
$Grid->SetCellText(0, 0, "Property" );
$Grid->SetCellText(0, 1, "Value" );
for my $row (1..$Grid->GetRows()) {
$Grid->SetCellText($row, 0, "Property $row " );
}
for my $row (1..4) {
my $col = 1;
$Grid->SetCellText($row, $col, "Cell : <$row, $col>");
}
my $row = 1;
for my $CellType (GVIT_NUMERIC, GVIT_DATE, GVIT_DATECAL, GVIT_TIME,
GVIT_CHECK, GVIT_COMBO, GVIT_LIST, GVIT_URL) {
$Grid->SetCellType($row++, 1, $CellType);
}
$Grid->SetCellCheck ( 5, 1, 1 );
my $Width = $Grid->GetVirtualWidth()+15;
my $Height = $Grid->GetRows()*$Grid->GetRowHeight(0)+5;
my $Left = $TopWindow->Width() - $Width;
$Grid->SetCellOptions( 6, 1, [ "Combo", "Box", "New" ]);
$Grid->SetCellOptions( 7, 1, [ "List", "Box", "New" ]);
$Grid->Resize($Width, $Height);
# $Grid->AbsLeft(0); # moves X ok Y moved also
# $Grid->Left(0); # works as expected
# $Grid->Left($Left); # works as expected
# $Grid->AbsTop(50); # moves Y ok X moved also
# $Grid->Height($Grid->Height() + 50); # works as expected
# $Grid->Move(50, 50); # works as expected
$Grid->Width($Grid->Width() + 50); # works as expected
# $Grid->Move($Width, 0); # works as expected
#################################################################
# Window Start Function
#################################################################
sub WindowStart {
$TopWindow->Show(); # makes TopWindow visible
Win32::GUI::Dialog(); # Windows control loop
return 1;
} ### WindowStart
WindowStart();