<snip - missing rant>
   
  use Win32::GUI;                 # Binding to Win32 GUI
use Win32::GUI::Grid;           # Thin binding to Win32 GUI Grid
use integer;
  my $TopWindow = new Win32::GUI::Window(       # Create Main Window
        -name         => 'TopWindow',
        -left         => 30,
        -height       => 450,
        -title        => 'GUI Editor',
        -top          => 20,
        -width        => 570,
   );
  my $Grid = $TopWindow->AddGrid(   # Create Grid object
        -columns           =>  2,
        -fixedcolumns      =>  1,
        -fixedrows         =>  1,
        -name              =>  "Property Grid",
        -pos               =>  [ 390, 0 ],
        -rows              =>  10,
        -visible           =>  1,
  );
  my $Grid1= $TopWindow->AddGrid(   # Create Grid object
        -columns           =>  2,
        -fixedcolumns      =>  1,
        -fixedrows         =>  1,
        -name              =>  "Property Grid",
        -pos               =>  [ 100, 0 ],
        -rows              =>  10,
        -visible           =>  1,
  );
   
    $Grid->SetCellText(0, 0, "Property" );
  $Grid->SetCellText(0, 1, "Value" );
   
    $Grid1->SetCellText(0, 0, "Property" );
  $Grid1->SetCellText(0, 1, "Value" );
   
    print "\n";
   
    my $TotalHeight = $Grid->GetRowHeight(0);
  my $Height;
  
  print "Row = 0 Height = [ $TotalHeight, $TotalHeight ])\n";
   
    for my $row (1..$Grid->GetRows()) {
    $Grid->SetCellText($row, 0, "Property $row " );
    $Grid1->SetCellText($row,0, "Property $row " );
  }
   
    for my $row (1..4) {
    my $col = 1;
    $Grid->SetCellText($row, $col, "Cell : <$row, $col>");
    $Grid1->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,     GVIT_NUMERIC) {
    $Height       = $Grid->GetRowHeight($row);
    $TotalHeight += $Height;
    print "Row = $row Height = [ $Height, $TotalHeight ])\n";
    $Grid->SetCellType($row,   1, $CellType);
    $Grid1->SetCellType($row++,1, $CellType);
  }
   
    $Grid->SetCellCheck  ( 5, 1, 1 );
  $Grid1->SetCellCheck ( 5, 1, 1 );
   
    my $Width  = $Grid->GetVirtualWidth();    #+20;
  my $Height = $Grid->GetVirtualHeight();   #+10;
   
    $Grid->SetCellOptions( 6, 1, [ "Combo", "Box", "New" ]);
  $Grid->SetCellOptions( 7, 1, [ "List",  "Box", "New" ]);
  $Grid->Resize($Width, $Height);
   
    $Grid1->SetCellOptions( 6, 1, [ "Combo", "Box", "New" ]);
  $Grid1->SetCellOptions( 7, 1, [ "List",  "Box", "New" ]);
  $Grid1->Resize($Width+6, $Height+6);
   
    print  "\n       Actual  Virtual W/O Bars\n";
  printf("Height %5d   %7d %8d\n", $TotalHeight, $Grid->GetVirtualHeight, 
$Grid->GetVirtualHeight+6);
  printf("Width  %5d   %7d %8d\n", $Grid->GetColumnWidth(0) + 
$Grid->GetColumnWidth(1)
                                 , $Grid->GetVirtualWidth()
                                 , $Grid->GetVirtualWidth()+6 );
    $TopWindow->Show();                             # makes TopWindow visible
  Win32::GUI::Dialog();                           # Windows control loop


Robert May <[EMAIL PROTECTED]> wrote:
  Arthur Schwarz wrote:
> Grid (again).
>
> My grid has a cell with a list in it. I don't know if that's significant but:
> 1: The reported grid Width is too small and a horizontal scroll bar is 
> presented, and
> 2: The reported grid height is too short and a vertical scroll bar is 
> presented.
> 
> The dimensions are:
> 
> [virtual virtual + ]
> 
> With W/o scroll bar
> [ 156 176 ] width
> [ 190 200 ] height

[snip]



Please take the time to post a *short*, but complete, example of the 
problem that you are asking for help with. It is very time consuming to 
put together example scripts to see if I can see the same behaviour, 
especially if I don't have any detailed knowledge of the control that 
you are talking about. Please read this if you haven't before:
http://www.catb.org/~esr/faqs/smart-questions.html



That said, if you're trying to autosize the grid, then I doubt that it 
takes into account any extra space required for any controls that may be 
needed - but we'd have to read the documentation for the underlying Grid 
Control, which on my previous forays I have discovered to be rather 
sparse, leaving us only the underlying source code to unravel to work 
out what is going on.

Regards,
Rob.

Reply via email to