Hi Jez,

Okay... change that a little still not quite working...

On creating the child window '$band2' it wont accept WS_CAPTION so changed
that to 00C00000 but I dont have a numeric for WS_SIZEBOX (I take
it -popstyle is removing these two attributes).

-pushstyle WS_CHILD is 40000000.

Any ideas? It just does not like the -popstyle lines which currently stands
at:

        -popstyle => 00C00000 | WS_SIZEBOX,

Chris

> -----Original Message-----
> From: Jez White [mailto:[EMAIL PROTECTED]
> Sent: Friday, 23 January 2004 11:13 PM
> To: Chris Wearn; Win32-GUI List
> Subject: Re: [perl-win32-gui-users] Rebar - InsertBands -
> MultipleButtons
>
>
> Hi,
>
> Some good news and some bad news...
>
> The bad. To me the outlook rebar control looks like it contains a toolbar
> which contains the icons/text and separators. I have yet to get a
> toolbar to
> work correctly with the rebar...The toolbar control itself has various
> methods/features missing (hottrack and separators amongst others).
>
> The Good. You can only have one control per band - however, you can add as
> many controls to a child window, which can then be added to a rebar band.
> The example below shows this in action.
>
> I've also added some new documentation to rebar.xs (as well as adding a
> couple of methods ShowBand and HideBand) and created a tracker
> item for some
> of the issues - feel free to add issues to that tracker item.
> There is also
> a tracker item for the toolbar issues.
>
> http://sourceforge.net/tracker/?group_id=16572
>
> Cheers,
>
> jez.
>
>
> ==============
> This example creates 3 bands, band one is empty. Band 2 contains
> a couple of
> drop downs, while band 3 contains a datetime control and a couple of
> buttons.
>
>
> use Win32::GUI;
> use strict;
>
> #create the main window
> my $mainwindow = new GUI::Window(
>     -title    => "Win32::GUI::Rebar test",
>     -left     => 100,
>     -top      => 100,
>     -width    => 600,
>     -height   => 200,
>     -name     => "Window",
>     -onTerminate => sub { return -1 },
> );
>
> #create a child window for band 2 of the rebar control, this band will
> contain two dropdowns
> my $band2 = new Win32::GUI::Window (
>     -parent    => $mainwindow,
>     -name      => "RebarBand2",
>     -popstyle  => WS_CAPTION | WS_SIZEBOX,
>     -pushstyle => WS_CHILD,
> );
>
> #create the first drop down
> my $dd1 = $band2->AddCombobox(
>     -name      => "Dropdown",
>     -pos       => [0, 0],
>     -size      => [100, 80],
>     -addstyle  =>  3 | 2097152  | 1048576,
>     -tip       => 'Some items',
> );
>
> $dd1->Add('Item 1','Item 2','Item 3','Item4');
> $dd1->Select(0);
>
> #create the second drop down
> my $dd2 = $band2->AddCombobox(
>     -name   => "Dropdown2",
>     -pos    => [105, 0],
>     -size   => [100, 80],
>     -addstyle  =>  3 | 2097152  | 1048576,
>     -tip       => 'Some colours',
> );
>
> $dd2->Add('Red','Blue','Green');
> $dd2->Select(0);
>
> #create a child window for band 3 of the rebar control
> my $band3 = new Win32::GUI::Window (
>     -parent   => $mainwindow,
>     -name     => "RebarBand3",
>     -popstyle => WS_CAPTION | WS_SIZEBOX,
>     -pushstyle => WS_CHILD,
> );
>
> # create Date time control for band 3
> my $DateTime = $band3->AddDateTime (
>     -name     => "DateTime",
>     -pos      => [0, 0],
>     -size     => [130, 20],
>     -tip      => 'A date and time',
> );
> #set the format for the datetime control
> $DateTime->Format('dd-MMM-yyyy HH:mm:ss');
>
> #Add a button to band 3
> $band3->AddButton (
>          -name     => 'Button',
>          -pos      => [135, 0],
>          -size     => [50, 20],
>          -text     => 'Button',
>          -tip      => 'A Button',
>          -onClick => sub {print 'button clicked' },
> );
>
> #Add a button to band 3
> $band3->AddButton (
>          -name     => 'Button1',
>          -pos      => [195, 0],
>          -size     => [50, 20],
>          -text     => 'Button1',
>          -tip      => 'A Button',
>          -onClick => sub {print 'button1 clicked' },
> );
>
> #create a rebar control
> my $rebar;
> $rebar = $mainwindow->AddRebar(
>     -name   => "Rebar",
>     -bandborders => 1,
>     -fixedorder  => 1,
>     -onHeightChange => sub {print 'Rebar_HeightChange'.$rebar->Height;},
> );
>
> #Insert band 1
> $rebar->InsertBand (-text => 'One' );
> #Insert band 2
> $rebar->InsertBand (
>   -child     => $band2,
>   -width     => 210,
>   -minwidth  => 210,
>   -minheight => 21,
> );
> #Insert band 3
> $rebar->InsertBand (
>   -child     => $band3,
>   -width     => 250,
>   -minwidth  => 250,
>   -minheight => 21,
> );
>
> #show the main window
>
> $mainwindow->Show;
>
> Win32::GUI::Dialog;
>
>
> ----- Original Message -----
> From: "Chris Wearn" <[EMAIL PROTECTED]>
> To: "Win32-GUI List" <perl-win32-gui-users@lists.sourceforge.net>
> Sent: Friday, January 23, 2004 2:50 PM
> Subject: [perl-win32-gui-users] Rebar - InsertBands - MultipleButtons
>
>
> > Hi All,
> >
> > I'm still messing around with rebar, trying to create a menu similar to
> the
> > rebar in say 'Outlook'. Where a single Band contains a number of buttons
> and
> > seperators:  | [Reply] [Reply To All] [Forward] | [Send/Receive]| etc
> >
> > After more tinkering, I've discovered that the button wont
> accept a -text
> > attribute and -bitmap (in that the text wont be rendered). So
> if you want
> a
> > bitmap leading the text, you need to create the bitmap with the
> image and
> > the text and put the whole lot on the button.
> >
> > What I can't figure is how using -child you get more than one button or
> > control per Band, or is this not possible.
> >
> > Chris
> >
> >
> >
> > -------------------------------------------------------
> > The SF.Net email is sponsored by EclipseCon 2004
> > Premiere Conference on Open Tools Development and Integration
> > See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> > http://www.eclipsecon.org/osdn
> > _______________________________________________
> > Perl-Win32-GUI-Users mailing list
> > Perl-Win32-GUI-Users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
>


Reply via email to