You can subscribe to this list here.
2001 |
Jan
(226) |
Feb
(139) |
Mar
(156) |
Apr
(95) |
May
(181) |
Jun
(166) |
Jul
(80) |
Aug
(59) |
Sep
(69) |
Oct
(83) |
Nov
(142) |
Dec
(33) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(42) |
Feb
(91) |
Mar
(76) |
Apr
(113) |
May
(67) |
Jun
(68) |
Jul
(37) |
Aug
(41) |
Sep
(16) |
Oct
(135) |
Nov
(51) |
Dec
(21) |
2003 |
Jan
(37) |
Feb
(36) |
Mar
(37) |
Apr
(103) |
May
(68) |
Jun
(70) |
Jul
(77) |
Aug
(12) |
Sep
(9) |
Oct
(53) |
Nov
(88) |
Dec
(63) |
2004 |
Jan
(263) |
Feb
(106) |
Mar
(36) |
Apr
(21) |
May
(21) |
Jun
(34) |
Jul
(33) |
Aug
(34) |
Sep
(35) |
Oct
(21) |
Nov
(43) |
Dec
(63) |
2005 |
Jan
(28) |
Feb
(42) |
Mar
(29) |
Apr
(14) |
May
(41) |
Jun
(20) |
Jul
(65) |
Aug
(136) |
Sep
(41) |
Oct
(74) |
Nov
(34) |
Dec
(94) |
2006 |
Jan
(85) |
Feb
(94) |
Mar
(68) |
Apr
(103) |
May
(66) |
Jun
(51) |
Jul
(24) |
Aug
(56) |
Sep
(57) |
Oct
(85) |
Nov
(73) |
Dec
(68) |
2007 |
Jan
(59) |
Feb
(32) |
Mar
(13) |
Apr
(32) |
May
(36) |
Jun
(36) |
Jul
(64) |
Aug
(35) |
Sep
(19) |
Oct
(10) |
Nov
(13) |
Dec
(20) |
2008 |
Jan
(26) |
Feb
(41) |
Mar
(19) |
Apr
(24) |
May
(16) |
Jun
(33) |
Jul
(34) |
Aug
(4) |
Sep
(11) |
Oct
|
Nov
(26) |
Dec
(23) |
2009 |
Jan
(5) |
Feb
(2) |
Mar
(21) |
Apr
(16) |
May
(13) |
Jun
(6) |
Jul
(34) |
Aug
(2) |
Sep
(1) |
Oct
(7) |
Nov
(5) |
Dec
(24) |
2010 |
Jan
(3) |
Feb
(5) |
Mar
(6) |
Apr
(6) |
May
(14) |
Jun
(6) |
Jul
(1) |
Aug
(12) |
Sep
(10) |
Oct
(9) |
Nov
|
Dec
(2) |
2011 |
Jan
(4) |
Feb
(5) |
Mar
(30) |
Apr
(1) |
May
(2) |
Jun
(5) |
Jul
(3) |
Aug
(2) |
Sep
(3) |
Oct
|
Nov
(6) |
Dec
|
2012 |
Jan
|
Feb
(10) |
Mar
|
Apr
|
May
(1) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
(2) |
Oct
|
Nov
(2) |
Dec
(4) |
2013 |
Jan
(5) |
Feb
(3) |
Mar
|
Apr
(3) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
(1) |
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(9) |
Nov
(7) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(5) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
1
|
2
|
3
(2) |
4
|
5
|
6
(2) |
7
(1) |
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
(1) |
16
(5) |
17
|
18
|
19
|
20
(3) |
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
From: <deg...@ma...> - 2005-04-20 07:32:55
|
Is there anybody who can regist a event handler by using NotifyIcon::Change() method( Not by NotifyIcon's new() constructor, but by Change() )? I have tried several times, but I always fail to regist. Clicking NotifyIcon, no event occurs. Looking "GUI.pm", NotifyIcon::Change() calls NotifyIcon::Modify() of "NotifyIcon.xs". At NotifyIcon::Modify(), there are lines like below: ZeroMemory(&nid, sizeof(NOTIFYICONDATA)); nid.cbSize = sizeof(NOTIFYICONDATA); nid.hWnd = parent; ParseNotifyIconOptions(NOTXSCALL sp, mark, ax, items, 1, &nid); I'm afraid some lines is short for NotifyIcon::Modify()? Comparing with NotifyIcon::Add(), I guess these two lines are needed. nid.uCallbackMessage = WM_NOTIFYICON; SwitchBit(nid.uFlags, NIF_MESSAGE, 1); Without these lines, nid.uCallbackMessage keeps zero, and a notice of messages on NotifyIcon is suprresed forever. I suspect no event occurs when we use NotifyIcon::Change(). Thanks. |
From: Rogers, J. <rog...@oc...> - 2005-04-20 07:00:16
|
sorry wrong list :-) -----Original Message----- From: Rogers, John=20 Sent: Wednesday, 20 April 2005 4:56 PM To: Perl-Win32-Gui-Users (E-mail) Subject: [perl-win32-gui-users] Win32-API and ghostscript API hi,=20 I want to access the ghostscript API for the gsdll32.dll.=20 been trying this any which way cant make it work, I must be doing some = thing wrong any Ideas ?=20 ###########=20 use strict;=20 use Win32::API;=20 Win32::API::Struct->typedef( REVINFO =3D> qw{=20 CHAR *product;=20 CHAR *copyright;=20 LONG revision;=20 LONG revisiondate;=20 });=20 my $rev =3D Win32::API::Struct->new('REVINFO');=20 Win32::API->new('C:\gs\gs8.15\bin\gsdll32.dll','gsapi_revision','CCNN',V= ) or die "no-worky $! $^E";=20 print $rev->{revision};=20 ###################=20 Regards,=20 John Rogers=20 System Engineer=20 Oc=E9-Australia Limited=20 Telephone: (07) 3212.8127=20 Facsimile: (07) 3312 8101=20 Mobile: 0404 812 903=20 Email: rog...@oc...=20 www.oce.com.au=20 *************************************************************=20 Disclaimer=20 If this e-mail has been sent to you in error, please notify = Oc=E9-Australia Limited immediately and delete this e-mail from your system. Any views expressed in this e-mail are those of the individual sender and may not necessarily reflect the views of Oc=E9-Australia Limited. *************************************************************=20 Disclaimer=20 If this e-mail has been sent to you in error, please notify = Oc=E9-Australia Limited immediately and delete this e-mail from your system. Any views expressed in this e-mail are those of the individual sender and may not necessarily reflect the views of Oc=E9-Australia Limited. |
From: Rogers, J. <rog...@oc...> - 2005-04-20 06:56:39
|
hi, I want to access the ghostscript API for the gsdll32.dll. been trying this any which way cant make it work, I must be doing some = thing wrong any Ideas ? ########### use strict; use Win32::API; Win32::API::Struct->typedef( REVINFO =3D> qw{ CHAR *product; CHAR *copyright; LONG revision; LONG revisiondate; }); my $rev =3D Win32::API::Struct->new('REVINFO'); Win32::API->new('C:\gs\gs8.15\bin\gsdll32.dll','gsapi_revision','CCNN',V= ) or die "no-worky $! $^E"; print $rev->{revision}; ################### Regards, John Rogers System Engineer Oc=E9-Australia Limited=20 Telephone: (07) 3212.8127=20 Facsimile: (07) 3312 8101 Mobile: 0404 812 903 Email: rog...@oc... www.oce.com.au=20 *************************************************************=20 Disclaimer=20 If this e-mail has been sent to you in error, please notify = Oc=E9-Australia Limited immediately and delete this e-mail from your system. Any views expressed in this e-mail are those of the individual sender and may not necessarily reflect the views of Oc=E9-Australia Limited. |
From: Jez W. <je...@je...> - 2005-04-16 10:57:27
|
> For the benefit of anyone following this thread who also couldn't find > that info: > > http://jeb.ca/perl/win32-gui-docs/index.pl/win32-gui#SetForegroundWindow_ Hi, I just had a quick look at this page - and it is out of date (more functions and improved documentation for others in the latest documentation). I had forgot that the documentation only comes with the source, and you have to run a script to generate HTML versions of it. This documentation should be included in the PPM's and perhaps, on the Win32::GUI Sourceforge homepage. Cheers, jez. |
From: Ian B. <ian...@au...> - 2005-04-16 09:27:28
|
> > All these calls are listed in the Win32_GUI.html document - not in > Window.html. There is a hundred odd functions/methods documented here. > Not sure why it's in a separate file:) It's not an api call - it's an > actual method. > > Cheers. > > jez. You're right.. I was looking in Window.html. For the benefit of anyone following this thread who also couldn't find that info: http://jeb.ca/perl/win32-gui-docs/index.pl/win32-gui#SetForegroundWindow_ |
From: Jez W. <je...@je...> - 2005-04-16 09:21:44
|
>> Have you tried $your_top_seeking_window->SetForegroundWindow(), called >> from the notify icon click handler? I think I'm using that to do what it >> sounds like you want to do... > > Ahhhhh... yep.. worked like a charm. Thanks a lot. > > Would have been easier if that was actually listed in the Win32::GUI > documentation.. I guess it's a it's just a win32 api call, and the > win32::gui module just passes it through ? All these calls are listed in the Win32_GUI.html document - not in Window.html. There is a hundred odd functions/methods documented here. Not sure why it's in a separate file:) It's not an api call - it's an actual method. Cheers. jez. |
From: <dg...@he...> - 2005-04-16 07:59:41
|
Je serai absent(e) du 09/04/2005 au 18/04/2005. Mon remplacement est assur=E9 par St=E9phane Reytan sr...@he... 01 41 37 70 10 En cas d'urgence appeler le service informatique 01 41 37 73 13 (exp...@he...) Pour les probl=E8mes r=E9seaux contacter JP Gluntz ou envoyer un messag= e =E0 : sr...@he... = |
From: Ian B. <ian...@au...> - 2005-04-16 00:25:53
|
>> I've currently got it working with show()/enable() and >> hide()/disable(), but this creates the problem where the window >> doesn't get elevated to the top if it is already open. I don't want >> to use -topmost=>1, because I don't want to force my window on the >> user if they want to hide it, but having said that, if they click on >> the systray icon, I want it to come to the front so they can see it. >> I've also tried using SetFocus(), but that doesn't seem to work very >> well either - it certainly gives focus, but doesn't raise the window. > > > Have you tried $your_top_seeking_window->SetForegroundWindow(), called > from the notify icon click handler? I think I'm using that to do what > it sounds like you want to do... Ahhhhh... yep.. worked like a charm. Thanks a lot. Would have been easier if that was actually listed in the Win32::GUI documentation.. I guess it's a it's just a win32 api call, and the win32::gui module just passes it through ? Is there a list of all available calls I can make on a gui object floating around somewhere ? MSDN perhaps ? |
From: Ian B. <ian...@au...> - 2005-04-15 23:42:42
|
I'm sure this is a dumb question, but I just can't figure out how to do it. I've been programming in perl for years, but mainly for CGI scripting under linux, and Win32::GUI is quite new to me. How do I destroy a win32::gui window object once I'm finished with it? I can delete the reference/handle to it, but I'm not convinced that that actually frees up the win32 object that it referred to. Alternatively, I've got this all wrong in my head, and I don't need to destroy the window at all. Should I create all potential windows at startup, and then show() or hide() them as necessary, or should I create them dynamically as and when needed ? If I take the latter approach, should I create it the first time it's needed, and then reuse it, or create and destroy it as needed each time the user needs to see that window ? Background info: What I want to do is this: I have a systray icon. For the systray_Click event, I want a window with a listview in it to pop up in the middle of the screen. I've currently got it working with show()/enable() and hide()/disable(), but this creates the problem where the window doesn't get elevated to the top if it is already open. I don't want to use -topmost=>1, because I don't want to force my window on the user if they want to hide it, but having said that, if they click on the systray icon, I want it to come to the front so they can see it. I've also tried using SetFocus(), but that doesn't seem to work very well either - it certainly gives focus, but doesn't raise the window. I then tried using Change() to set -topmost=>1 on the existing window, and then back to 0, but that didn't have any effect either. I even tried calling DoEvents after setting it to 1. The only way I've managed to get it to consistently come to the top is to create a new window object each time. This leads me to believe that I should be destroying the previous one before creating a new one so as to avoid chewing up memory. But.. I can't figure out how to destroy an existing window. Also, if the window is already on top, and the user clicks on the systray icon, I don't really want the window to be destroyed at all, because that makes the window flicker as it recreated. It would be tidier to just have it SetFocus in that situation, but I don't know how to detect if it is already on top. And that's what leads me back to the questions at the top of the post. Thanks. |
From: Roelof B. <ro...@ni...> - 2005-04-07 14:41:06
|
Hi, I am trying to create a Transparent label, with a transparent image on = it. I figured out how to create a transparent image on a label; by using an = Icon. I am also able to create a transparent label with -addstyle =3D> 11 But, If I combine the two, my label won't show up. Anyone an idea? It is not neccesairy for me to use a Label(), anything = else would be fine, as long as I am able to show a transparent image (I have = two images layered over each other). Here's some code examples: # this works (label is transparent): my $label =3D $window->AddLabel ( -name =3D> "thename", -text =3D> "Bla bla", -size =3D> [16,16], -pos =3D> [$x,$y], -visible =3D> 1, -addstyle =3D> 11, ); $label->Show(); # this works (image is transparent but label is not): my $label =3D $window->AddLabel ( -name =3D> "thename", -icon =3D> 1, -size =3D> [16,16], -pos =3D> [$x,$y], -visible =3D> 1, ); $label->SetIcon($MyIcon); $label->Show(); # this doesn't work (label doesn't show): my $label =3D $window->AddLabel ( -name =3D> "thename", -icon =3D> 1, -size =3D> [16,16], -pos =3D> [$x,$y], -visible =3D> 1, -addstyle =3D> 11, ); $label->SetIcon($MyIcon); $label->Show(); Regards and thanks in advance, Roelof Bos =20 |
From: Jez W. <je...@je...> - 2005-04-06 07:37:46
|
Hi, I've just noticed that all the above methods for the DC cause a crash - = has anyone ever had these methods working? Cheers, jez. |
From: Jez W. <je...@je...> - 2005-04-06 07:37:17
|
All, I've just committed Alexander Romanenko's changes to the GridLayout = object.=20 Cheers, jez. |
From: Alexander R. <al...@pa...> - 2005-04-03 15:12:17
|
How you change a position and sizes of controls when the window changes the sizes? If to use "New GridLayout.pm" that a position and sizes change automatically. JW> I never knew this object was part of Win32::GUI:) JW> I've never used it, so I can't test it - but I can check it in - is this OK JW> with everyone? |
From: Jez W. <je...@je...> - 2005-04-03 09:11:41
|
Hi, I never knew this object was part of Win32::GUI:) I've never used it, so I can't test it - but I can check it in - is this OK with everyone? Cheers, jez. ----- Original Message ----- From: "Alexander Romanenko" <ra...@is...> To: <per...@li...> Sent: Wednesday, March 30, 2005 10:49 AM Subject: [perl-win32-gui-users] New GridLayout.pm > Hello, > > I have corrected and have modified module GridLayout.pm. > Now cells of a grid can have absolute and relative size. Controls can > be expanded (justify) on some cells. The module supports old job, but > methods apply() and add() can be called with new parameters. > Please, check up correctness of job and the documentation. If all is > correct, change the version and publish it. > > -------------------------------------------------------------------- > package Win32::GUI::GridLayout; > > $VERSION = "0.03"; > > sub new { > my($class, $c, $r, $w, $h, $xpad, $ypad) = @_; > my $r_grid = { > "cols" => $c, > "rows" => $r, > "width" => $w, > "height" => $h, > "xPad" => $xpad, > "yPad" => $ypad, > }; > bless $r_grid, $class; > return $r_grid; > } > > sub apply { > my($class, $to, $c, $r, $xpad, $ypad) = @_; > my $w = $to->ScaleWidth(); > my $h = $to->ScaleHeight(); > my $r_grid = { > "cols" => $c, > "rows" => $r, > "width" => $w, > "height" => $h, > "xPad" => $xpad, > "yPad" => $ypad, > "source" => $to, > }; > bless $r_grid, $class; > return $r_grid; > } > > sub add { > my($grid, $o, $c, $r, $align) = @_; > my @content = @{$grid->{'content'}}; > my($halign, $valign) = split(/\s*,\s*|\s+/, $align); > push(@content, [$o, $c, $r, $halign, $valign] ); > $grid->{'content'} = [ @content ]; > } > > sub recalc { > my($grid) = @_; > $grid->{'width'} = $grid->{'source'}->ScaleWidth(); > $grid->{'height'} = $grid->{'source'}->ScaleHeight(); > > if(ref $grid->{'cols'} eq 'ARRAY') { > my @colw = @{$grid->{'cols'}}; > my @absw = grep(/^\d+$/, @colw); > my $absw = 0; > map($absw+=$_, @absw); > my $relw = int(($grid->{'width'}-$absw)/($#colw-$#absw)); > for my $i (0..$#colw) { > $grid->{'_cols_w'}[$i] = ($colw[$i] eq '*') ? $relw : > $colw[$i]; > } > } > else { > my $relw = int($grid->{'width'}/$grid->{'cols'}); > for my $i (0..($grid->{'cols'}-1)) { > $grid->{'_cols_w'}[$i] = $relw; > } > } > > if(ref $grid->{'rows'} eq 'ARRAY') { > my @rowh = @{$grid->{'rows'}}; > my @absh = grep(/^\d+$/, @rowh); > my $absh = 0; > map($absh+=$_, @absh); > my $relh = int(($grid->{'height'}-$absh)/($#rowh-$#absh)); > for my $i (0..$#rowh) { > $grid->{'_rows_h'}[$i] = ($rowh[$i] eq '*') ? $relh : > $rowh[$i]; > } > } > else { > my $relh = int($grid->{'height'}/$grid->{'rows'}); > for my $i (0..($grid->{'rows'}-1)) { > $grid->{'_rows_h'}[$i] = $relh; > } > } > > foreach $inside (@{$grid->{'content'}}) { > $widgetWidth = $inside->[0]->Width(); > $widgetHeight = $inside->[0]->Height(); > if($inside->[3] =~ /^j/i) { > $inside->[0]->Resize( > $grid->col_w($inside->[1]), > $inside->[0]->Height, > ); > } > > if($inside->[4] =~ /^j/i) { > $inside->[0]->Resize( > $inside->[0]->Width, > $grid->row_h($inside->[2]), > ); > } > > $inside->[0]->Move( > $grid->col($inside->[1], $inside->[3]), > $grid->row($inside->[2], $inside->[4]), > ); > } > } > > sub draw { > my($grid) = @_; > return undef unless $grid->{'source'}; > my $DC = $grid->{'source'}->GetDC(); > my $colWidth = int($grid->{'width'} / $grid->{'cols'}); > my $rowHeight = int($grid->{'height'} / $grid->{'rows'}); > my($i, $s); > $s = 0; > for $i (@{$grid->{'_cols_w'}}) { > $s += $i; > $DC->MoveTo($s, 0); > $DC->LineTo($s, $grid->{'height'}); > } > $s = 0; > for $i (@{$grid->{'_rows_h'}}) { > $s += $i; > $DC->MoveTo(0, $s); > $DC->LineTo($grid->{'width'}, $s); > } > } > > sub column { > my($grid_param, $col, $align) = @_; > $col = $col->[0] if(ref $col); > $col--; > my $x = 0; > if($grid_param->{'_cols_w'}) { > my @colw = @{$grid_param->{'_cols_w'}}; > $colWidth = $colw[$col]; > for(my $i=0; $i<=$col-1; $i++) { > $x += $colw[$i]; > } > $x += $grid_param->{'xPad'}; > } > else { > $colWidth = int($grid_param->{'width'} / $grid_param->{'cols'}); > $x = ($col * $colWidth) + ($grid_param->{'xPad'}); > } > $x += int(($colWidth - $widgetWidth) / 2) > if $align =~ /^c/i; > $x += ($colWidth - $widgetWidth) - 2*$grid_param->{'xPad'} > if $align =~ /^r/i; > $widgetWidth=0; # in case a width declaration is missed or not used > return $x; > } > sub col { column @_; } > > sub row { > my($grid_param, $row, $align) = @_; > $row = $row->[0] if(ref $row); > $row--; > my $y = 0; > if($grid_param->{'_rows_h'}) { > my @rowh = @{$grid_param->{'_rows_h'}}; > $rowHeight = $rowh[$row]; > for(my $i=0; $i<=$row-1; $i++) { > $y += $rowh[$i]; > } > $y += $grid_param->{'yPad'}; > } > else { > $rowHeight = int($grid_param->{'height'} / $grid_param->{'rows'}); > $y = ($row * $rowHeight) + ($grid_param->{'yPad'}); > } > > $y += int(($rowHeight - $widgetHeight) / 2) > if $align =~ /^c/i; > $y += ($rowHeight - $widgetHeight) - 2*$grid_param->{'yPad'} > if $align =~ /^b/i; > $widgetHeight=0; # same reason as coment in &column > return $y; > } > > sub width { > my ($grid_param,$w) = @_; > $widgetWidth = $w; > return $widgetWidth; > } > > sub height { > my ($grid_param,$h) = @_; > $widgetHeight = $h; > return $widgetHeight; > } > > sub col_w { > my($grid_param, $col) = @_; > $col->[0] = $col unless(ref $col); > my $w = 0; > for my $col (@$col) { > $w += $grid_param->{'_cols_w'}[$col-1]; > } > > $w -= 2*$grid_param->{'xPad'}; > return $w; > } > > sub row_h { > my($grid_param, $row) = @_; > $row->[0] = $row unless(ref $row); > my $h = 0; > for my $row (@$row) { > $h += $grid_param->{'_rows_h'}[$row-1]; > } > > $h -= 2*$grid_param->{'yPad'}; > return $h; > } > > 1; > > __END__ > > =head1 NAME > > Win32::GUI::GridLayout - Grid layout support for Win32::GUI > > =head1 SYNOPSIS > > use Win32::GUI:: > use Win32::GUI::GridLayout; > > # 1. make a "static" grid > $grid = new Win32::GUI::GridLayout(400, 300, 3, 3, 0, 0); > > $win = new Win32::GUI::Window( > > $win->AddLabel( > -name => "label1", > -text => "Label 1", > -width => $grid->width(35), > -height => $grid->height(11), > -left => $grid->col(1, "left"), > -top => $grid->row(1, "top"), > ); > > # 2. make a "dynamic" grid > $grid = apply Win32::GUI::GridLayout($win, 3, 3, 0, 0); > or > $grid = apply Win32::GUI::GridLayout($win, > [qw(10 * * 10)], > [qw(10 * 40)], > 0, 0); > > $win->AddLabel( > -name => "label1", > -text => "Label 1", > ); > $grid->add($win->label1, 1, 1, "left top"); > or > $grid->add($win->label1, [2..3], 1, "justify justify"); > > $grid->recalc(); > > =head1 DESCRIPTION > > > > =head2 Constructors > > =over 4 > > =item new Win32::GUI::GridLayout(WIDTH, HEIGHT, COLS, ROWS, XPAD, YPAD) > > =item apply Win32::GUI::GridLayout(WINDOW, COLS, ROWS, XPAD, YPAD), > COLS - quantity of columns or arrayref of width colomns (number - > absolute width, > * - relative width), > ROWS - quantity of rows or arrayref of height rows (number - absolute > height, > * - relative height) > > =back > > =head2 Methods > > =over 4 > > =item add(CONTROL, COL, ROW, ALIGN) > > Adds CONTROL to the grid at (COL, ROW). > ALIGN can specify both horizontal and vertical > alignment (see the col() and row() methods), > separated by at least one blank and/or a comma. > > Example: > > $grid->add($win->label1, 1, 1, "left top"); > or > $grid->add($win->label1, [2..3], 1, "justify top"); > > COL and ROW may be arrayref for adds CONTROL into more than one cell. > If ALIGN is justify (j) than CONTROL expands up to cell. > > > =item col(N, ALIGN) > > Positions the control at the Nth column in the grid, > optionally with an ALIGN; this can be feed to a > C<-left> option when creating a control. > > ALIGN can be C<left>, C<center> or C<right> (can be > shortened to C<l>, C<c>, C<r>); default is C<left>. > > Note that for alignment to work properly, the width() > and height() methods must have been previously > called. > > Example: > > $win->AddLabel( > -name => "label1", > -text => "Label 1", > -width => $grid->width(35), > -height => $grid->height(11), > -left => $grid->col(1, "left"), > -top => $grid->row(1, "top"), > ); > > =item draw() > > Draws the GridLayout in the associated window > (may be useful for debugging); is only meaningful > if the GridLayout was created with the apply() > constructor. > > =item height(N) > > Sets the height of the control for subsequent > alignment; this can be feed to a C<-height> option > when creating a control. > > Example: see col(). > > =item recalc() > > Recalculates the grid and repositions all the add()ed > controls, taking into account the actual window and > controls sizes; > is only meaningful if the GridLayout was created > with the apply() constructor. > > Example: > > sub Window_Resize { > $grid->recalc(); > } > > =item row(N, ALIGN) > > Positions the control at the Nth row in the grid, > optionally with an ALIGN; this can be feed to a > C<-top> option when creating a control. > > ALIGN can be C<top>, C<center> or C<bottom> (can be > shortened to t, c, b); default is top. > > Note that for alignment to work properly, the width() > and height() methods must have been previously > called. > > Example: see col(). > > =item width(N) > > Sets the width of the control for subsequent > alignment; this can be feed to a C<-width> option > when creating a control. > > Example: see col(). > > =back > > =head1 VERSION > > Win32::GUI::GridLayout version 0.03, 13 April 1999. > > =head1 AUTHOR > > Mike Kangas ( C<ka...@an...> ); > additional coding by Aldo Calpini ( C<da...@pe...> ). > > =cut > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Perl-Win32-GUI-Users mailing list > Per...@li... > https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users |