Thread Label-Größe & Textänderung: Größe halten (16 answers)
Opened by pktm at 2005-01-16 17:58

pktm
 2005-01-17 23:59
#42787 #42787
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
zu packPropagate siehe oben.
Hier ist übrigens mein code (woraus, für mich zumindest ersichtlich ist, warum ich grid verwende):
Code: (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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
my $fixedTable = [];
my $fixedDatenObj = {}; # Referenzen zu allen Objekten (z.B. Preis) die in der fixedTabelle
                       # stehen (zwecks Zugriff zur späteren Modifikation)
                       # Quasi das Selbe wie $fixedtabel = [], nur dass es keine Arrayref ist

for( my $cnt=0; $cnt <= $#{$glob->{'actualObject'}->{'FixedData'}}; $cnt++ ){

   # -[A]- Tabelle erstellen

   # -[1]- zuerst den Textteil um zu sehen, ob man den Spacer vergrößern muss
   # Aktuellen Eintrag auslesen (ist immer nur einer)
   my ($key, $val) = %{$glob->{'actualObject'}->{'FixedData'}->[$cnt]};
   utf8::encode($glob->{'actualObject'}->{'FixedData'}->[$cnt]->{$key});
#    print "k: $key, v: $val\n";
   $fixedTable->[$cnt]->{'Text'} = $fixedDaten->Label(
#        -text       => $val,
       -textvariable => \$glob->{'actualObject'}->{'FixedData'}->[$cnt]->{$key},
       -font       => $fixedDaten->Font(-weight=>'normal',-size=>16,),
       -wraplength => ($mw->screenwidth() - $imageFrame->reqwidth()) - $pfeil->width(),
       -justify    => 'left',
       -bd => 3,
       - relief => 'raised',
   );
#    # create Font
#    $fixedTable->[$cnt]->{'Text'}->configure(
#        -font => $mw->Font(-family => 'Verdana',),
#    );

   # -[2]- jetzt den Pfeil und den Spacer
   $fixedTable->[$cnt]->{'Grafik'} = $fixedDaten->Frame(-bd => 0,);
   $fixedTable->[$cnt]->{'Pfeil'} = $fixedTable->[$cnt]->{'Grafik'}->Label(-image => $pfeil,-bd => 0,);
   $fixedTable->[$cnt]->{'Spacer'} = $fixedTable->[$cnt]->{'Grafik'}->Label(-image => $pfeilSpacer,-bd => 0,);

   # Größe des Spacers dem Text anpassen
   main::berechneSpacer($mw, $pfeil, $pfeilSpacer, $fixedTable->[$cnt]);

       # keine Unterscheidung zwischen leztem undn nicht letztem Eintrag, da
       # noch weitere Angaben folgen
       $fixedTable->[$cnt]->{'Pfeil'}->pack(
           -anchor=>'n',
           -expand =>1,
           -side =>'top',
           -ipadx => 0, -ipady => 0,
           -padx  => 0, -pady  => 0,
       );
       $fixedTable->[$cnt]->{'Spacer'}->pack(
           -fill=>"y",
           -anchor=>'n',
           -expand =>1,
           -side =>'top',
           -ipadx => 0, -ipady => 0,
           -padx  => 0, -pady  => 0,
       );
   
   # -[3]- Objekte in ReferenzHash ablegen um später Zugriff haben zu können
   $fixedDatenObj->{$key}->{'Text'} = $fixedTable->[$cnt]->{'Text'};
   $fixedDatenObj->{$key}->{'Grafik'} = $fixedTable->[$cnt]->{'Grafik'};
   $fixedDatenObj->{$key}->{'Pfeil'} = $fixedTable->[$cnt]->{'Pfeil'};
   $fixedDatenObj->{$key}->{'Spacer'} = $fixedTable->[$cnt]->{'Spacer'};

   # -[B]- jetzt noch alles zusammenpacken
   $fixedTable->[$cnt]->{'Grafik'}->grid(
       -column=>1,
       -row=>$cnt,
       -sticky => "ns",
   );
   $fixedTable->[$cnt]->{'Text'}->grid(
       -column=>2,
       -row=>$cnt,
       -ipadx => 0,
       -padx => 0,
       -columnspan=>2,
       -sticky => "nswe",
   );
} # /for

################################################################################


Ich kommentiere mir jetzt mal an, dass ich ein bischen mit packPropagate rumexperimentieren soll :)
http://www.intergastro-service.de (mein erstes CMS :) )

View full thread Label-Größe & Textänderung: Größe halten