30.12.2012 Aufrufe

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

Skript Tcl/Tk - Praktische Informatik / Datenbanken - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel 9 – Der Gebrauch der Leinwand 193<br />

Dann werden die kleineren Widgets in den Formularrahmen eingefügt,<br />

wozu auch Trennlinien (Feld „-“)gehören. Das Füllen beginnt mit der<br />

Ermittlung des Rahmennamens.<br />

set form [scrollform_interior .sform]<br />

Danach kommt die Schleife, wobei Widgetnamen, hier line1, line2,<br />

usw., automatisch erzeugt werden müssen. Diese werden intern dann<br />

durch das Präfix $form, z. B. zu .sform.vport.form.line17,<br />

erweitert und können noch weitere Verlängerungen für die Marke und das<br />

Eintragefeld (label bzw. entry) erhalten.<br />

set counter 0<br />

foreach field {<br />

"Name:" "Address:" "City, State:"<br />

"Phone:" "FAX:" "E-mail:"<br />

"-"<br />

"SSN:" "Birthdate:" "Marital Status:"<br />

"-"<br />

"Employer:" "Occupation:" "Annual Income:"<br />

"-"<br />

"Emergency Contact:" "Phone:"<br />

} {<br />

set line "$form.line[incr counter]"<br />

if {$field == "-"} {<br />

frame $line -height 2 -borderwidth 1 -relief sunken<br />

pack $line -fill x -padx 4 -pady 4<br />

} else {<br />

frame $line<br />

label $line.label -text $field -width 20 -anchor e<br />

pack $line.label -side left<br />

entry $line.info<br />

pack $line.info -fill x<br />

pack $line -side top -fill x<br />

}<br />

}<br />

Ist der Rahmen komplett, wird sich der Formularrahmen dicht darumlegen<br />

und seine Größenveränderung wird den -Event auslösen,<br />

der scrollform_resize aufruft. Das passiert auch, falls wir<br />

später weitere Zeilen in das Formular einfügen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!