Thread Panedwindow - Seite einblenden/ausblenden
(8 answers)
Opened by Gast at 2007-12-19 14:41
Hallo renee,
erst mal vielen Dank für den Tipp. Leider ist es nicht was ich meine... Habe den Beispiel etwas erweitert um zu verdeutlichen was ich meine: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 use strict; use Tk; use Tk::HList; # # MainWindow # my $mw = MainWindow->new; # # Menu # my $m = $mw->Menu(qw/-type menubar/); $mw->configure(-menu => $m); my $ma = $m->cascade(-tearoff => 0, -label => '~Ansicht'); my $pr_sicht = 1; # # PanedWindow # my $panel = $mw->Panedwindow(qw/-orient horizontal/)->pack; my $fr_left = $mw->Frame->pack;; my $fr_right = $mw->Frame->pack; $panel->add($fr_left, $fr_right); my $hlist = $fr_left->HList(qw/-bg white/) ->pack(qw/-expand yes -fill both/); my $data = $fr_right->Canvas(qw/-bg white/) ->pack; $ma->checkbutton( -label => 'Projekt-Explorer', -variable => \$pr_sicht, -command => sub { unless( $pr_sicht ){ $panel->packForget; } else{ $panel->pack; } } ); MainLoop; Wenn ich den Code so teste, wird das ganze Panelwindow ausgeblendet/versteckt. Ich brauche aber die Möglichkeit, wie ich nur die Linke seite (HList) ausblenden bzw. verkleiner kann. Die Canvas soll hier immer da sein. Auch wenn ich nur HList ausblende mit "$hlist->packForget" bleibt die linke Seite halt leer. Sollte aber verkleinert werden... Wenn ich versuche die linke Frame auszublenden "$fr_left->packForget" kommt leider nur Mist dabei raus. Also auch nicht das Richtige. Was soll ich hier machen? Hat sonst noch jemand einen Tipp? Besten Dank! Alex |