Thread Panedwindow - Seite einblenden/ausblenden (8 answers)
Opened by Gast at 2007-12-19 14:41

Gast Gast
 2007-12-20 10:29
#104060 #104060
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

View full thread Panedwindow - Seite einblenden/ausblenden