Hi,

Not sure why you had to declare $band2 like that - my dodgy code eh?:)

I'm not sure what you mean when you talk about "image (bitmap) to contain
both the leading...", if you are talking about the rebar band and it's
options, then the following may help:

    # (@)METHOD:InsertBand(%OPTIONS)
    #
    # Insert a new band into the rebar control.
    #
    # Allowed %OPTIONS are:
    #
    # -image      => Zero based index of the imagelist.
    # -index      => Zero based index where the band is inserted.
    # -bitmap     => The background bitmap for the band.
    # -child      => Child control. See Below.
    # -foreground => Band foreground colors.
    # -background => Band background colors.
    # -width      => The width of the band.
    # -minwidth   => The minimum width of the band.
    # -minheight  => The minimum height of the band.
    # -text       => The text for the band.

If you are talking about normal buttons with an image in it and text - I
haven't got a clue:) I know toolbars can do this - but we're still left with
the problem of attaching them to the rebar. You could go for the ugly hack
where you have a button containing a bitmap with a text label underneath.

cheers,

jez.

----- Original Message ----- 
From: "Chris Wearn" <[EMAIL PROTECTED]>
To: "Jez White" <[EMAIL PROTECTED]>
Cc: "Win32-GUI List" <perl-win32-gui-users@lists.sourceforge.net>
Sent: Friday, January 23, 2004 3:55 PM
Subject: RE: Rebar - InsertBands - MultipleButtons


> Hi Jez,
>
> Hey works for me... interestingly I had to beat it into submission a bit
> (didn't like the 'my' on $band2 and then had to declare $band2 as:
>
> use vars qw(
> $band2
> );
>
> Visually the example creates the same capabilities as that of the Outlook
> example (despite the fact that it may not be strictly the correct way of
> doing it).
>
> Have you found a way of getting text and an image on a button? Or am I
write
> in assuming that it requires the image (bitmap) to contain both the
leading
> image and trailing text.
>
> 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