<!--
  <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">

 -->

  <sect1 id="designing-forms">
    <title
>Entwurf von Formularen</title>

    <sect2 id="most-important-terms">
      <title
>Die wichtigsten Begriffe:</title>
      <glosslist>
        <glossentry id="gloss-form">
          <glossterm
>Formular</glossterm>
          <glossdef>
            <para
>Ein Fenster für einfache Dateneingabe und -darstellung auf dem Bildschirm des Rechners. </para>
          </glossdef>
        </glossentry>
        <glossentry id="gloss-form-data-source">
          <glossterm
>Datenquelle des Formulars</glossterm>
          <glossdef>
            <para
>Datenbanktabelle oder Datenbankabfrage, deren Daten im Formular angezeigt werden. Die Datenquelle ist erforderlich, da Formulare nur <emphasis
>Werkzeuge</emphasis
> zur Darstellung und Eingabe von Daten sind, während Tabellen und Abfrage als Datenquelle dienen. Neue leere Formulare sind mit keiner Datenquelle verbunden, so dass sie solange keine Daten aus Ihrer Datenbank anzeigen, bis Sie eine Verbindung mit einer Datenquelle herstellen. </para>
          </glossdef>
        </glossentry>
        <glossentry id="gloss-form-field">
          <glossterm
>Formularfeld</glossterm>
          <glossdef>
            <para
>Entspricht einer Spalte in einer Tabelle oder Abfrage. Am häufigsten werden Felder zur Anzeige von Text und Zahlen benutzt. Die Eingabe eines neuen Wertes oder die Änderung von vorhandenen Werten in einem Feld verändern auch den Wert in der Spalte der mit dem Formular verbundenen Tabelle oder Abfrage, nachdem diese Änderungen übernommen wurden. </para>
          </glossdef>
        </glossentry>
        <glossentry id="gloss-form-design">
          <glossterm
>Formularentwurf</glossterm>
          <glossdef>
            <para
>Aufgaben zur Festlegung von Erscheinungsbild und Funktion von Formularen. Dazu sind <glossterm linkend="gloss-form-data-source"
>Datenquellen</glossterm
> erforderlich und es müssen verschiedene Arten von <glossterm linkend="gloss-form-field"
>Formularfeldern</glossterm
> an passender Stelle eingefügt werden. </para>
          </glossdef>
        </glossentry>
        <glossentry id="gloss-form-widget">
          <glossterm
>Oberflächenelement eines Formulars</glossterm>
          <glossdef>
            <para
>Die Elemente in einem Formular. Die wichtigsten Typen sind:</para>
            <itemizedlist>
              <listitem>
                <para
>Oberflächenelemente zur Anzeige von Informationen, z. B. ein Text- oder Bildfeld. Jedes Element dieser Art kann mit dem Feld einer Datenquelle (einer Spalte in einer Tabelle oder Abfrage) <emphasis
>verbunden</emphasis
> werden. Daher werden solche Oberflächenelemente auch als <glossterm linkend="gloss-form-field"
>Formularfelder</glossterm
> bezeichnet. </para>
              </listitem>
              <listitem>
                <para
>Oberflächenelemente, die eine bestimmte Aktion auslösen können, z. B. ein Befehlsknopf, mit dem Sie ein Formular schließen können. In anderen Programmen werden diese Elemente manchmal auch <firstterm
>Formularkontrolle</firstterm
> genannt, weil mit ihnen vorher festgelegte Aktionen ausgeführt werden, die das Verhalten der Datenbankanwendung <emphasis
>kontrollieren</emphasis
>. </para>
              </listitem>
              <listitem>
                <para
>Mit anderen Oberflächen können Sie das Erscheinungsbild des Formulars verbessern, z. B. mit einem <quote
>Linienelement</quote
> das Formular in zwei Bereiche teilen. </para>
              </listitem>
            </itemizedlist>
          </glossdef>
        </glossentry>
        <glossentry id="gloss-container-widget">
          <glossterm
>Gruppenelement</glossterm>
          <glossdef>
            <para
>Ein Oberflächenelement, das andere Elemente <emphasis
></emphasis
> enthalten kann. Zum Beispiel Rahmen oder Karteikarten sind Gruppenelemente, wie auch das Formular selbst. Ein Befehlsknopf ist kein Gruppenelement, da es nicht möglich ist, ein anderes Element darin einzufügen. In komplizierten Fällen können Gruppenelement in andere Gruppenelemente eingefügt werden. </para>
            <!--
            <screenshot>
              <screeninfo
>Example container widgets</screeninfo>
              <mediaobject>
                <imageobject>
                  <imagedata fileref="img/05_04_01_widget_containers.png" format="PNG"/>
                </imageobject>
                <textobject>
                  <phrase
>Example container widgets</phrase>
                </textobject>
              </mediaobject>
            </screenshot
>-->
          </glossdef>
        </glossentry>
      </glosslist>
    </sect2>

    <sect2 id="forms-versus-tables">
      <title
>Formulare im Vergleich zu Tabellen</title>
      <para
>In einem der vorherigen Kapitel haben Sie gelernt, Daten direkt in Tabellen in der Datenansicht einzugeben. In manchen Fällen jedoch eignen sich Formulare besser für diese Aufgabe: </para>
      <itemizedlist>
        <listitem>
          <para
>Eine Tabelle kann aus so vielen Spalten bestehen, dass sie nicht mehr alle auf dem Bildschirm angezeigt werden können. In einem Formular können diese Daten in mehreren Zeilen dargestellt werden. </para>
        </listitem>
        <listitem>
          <para
>Im Formular können Daten<glossterm linkend="gloss-form-field"
>felder</glossterm
> in Gruppen zusammengefasst werden, das verbessert die Lesbarkeit. Beschriftungen mit zusätzlichen Informationen können eingefügt werden, um Hinweise zur Benutzung des Formulars und der Bedeutung der Daten<glossterm linkend="gloss-form-field"
>felder</glossterm
> zu geben. </para>
        </listitem>
        <listitem>
          <para
>Befehlsknöpfe können in Formularen für häufig gebrauchte Befehle benutzt werden, so dass die Benutzer Formulare wie eigenständige Programme bedienen können. </para>
        </listitem>
        <listitem>
          <para
>In der Datenansicht können Sie mehrzeilige Datentext<glossterm linkend="gloss-form-field"
>felder</glossterm
> oder Bilder genauso wie in Formularen anzeigen. </para>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2>
      <title
>Arbeiten im Formularentwurf</title>
      <para
>Wie beim Entwurf von Tabellen oder Abfragen können in der <interface
>Datenansicht</interface
> oder der <interface
>Entwurfsansicht</interface
> arbeiten. Der Entwurf eines Formulars wird in der <interface
>Entwurfsansicht</interface
> erstellt. Das Entwurfsfenster des Formulars wird in diesem Handbuch häufig als <interface
>Formularentwurf</interface
> bezeichnet. </para>
      <procedure>
        <step>
          <para
>Um ein neues leeres Formular zu öffnen, wählen Sie in der Menüleiste <menuchoice
><guimenu
>Einfügen</guimenu
> <guimenuitem
>Formular ...</guimenuitem
></menuchoice
>. Wahlweise können Sie auch den Befehl <menuchoice
><guimenuitem
>Formular ...</guimenuitem
></menuchoice
> in der Werkzeugleiste im <interface
>Projekt-Navigator</interface
> oder <menuchoice
><guimenuitem
>Objekt erstellen: Formular ...</guimenuitem
></menuchoice
> aus dem Kontextmenü wählen. </para>
        </step>
        <step>
          <para
>Ein neuer Rahmen wird angezeigt, dessen Größe Sie durch Verschieben der Ränder ändern können. Im Formular wird ein Gitter angezeigt, um die genaue Ausrichtung von Elementen zu erleichtern. </para>
          <!--<screenshot>
            <screeninfo
>A window with design of a new form</screeninfo>
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/05_04_03_new_empty_form.png" format="PNG"/>
              </imageobject>
              <textobject>
                <phrase
>A window with design of a new form</phrase>
              </textobject>
            </mediaobject>
          </screenshot
>-->
        </step>
      </procedure>
      <para
>Wie im Tabellenentwurf gibt es auch im <interface
>Formularentwurf</interface
> einen <interface
>Eigenschaften-Editor</interface
>. Er besteht aus drei Karteikarten, damit er wenig Platz auf dem Bildschirm einnimmt. </para>
      <variablelist>
        <varlistentry>
          <term
>Die Karteikarte <guilabel
>Eigenschaften</guilabel
></term>
          <listitem>
            <para
>Enthält eine Liste der Eigenschaften des aktuell ausgewählten Oberflächenelements.</para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term
>Die Karteikarte <guilabel
>Datenquelle</guilabel
> </term>
          <listitem>
            <para
>Zeigt die <glossterm linkend="gloss-form-data-source"
>Datenquelle</glossterm
> des ausgewählten Oberflächenelements oder des Formulars selbst. </para>
          </listitem>
        </varlistentry>
        <varlistentry>
          <term
>Die Karteikarte <guilabel
>Oberflächenelemente</guilabel
> </term>
          <listitem>
            <para
>Zeigt alle Elemente eines Formulars in einer Baumstruktur. Die Liste erleichtert die Suche nach Elementen über den Namen und den Wechsel zwischen den Elementen. </para>
          </listitem>
        </varlistentry>
      </variablelist>
      <para
>Informationen über den Namen und Typ des aktuell ausgewählten Elements werden in der ersten und zweiten Spalte angezeigt. </para>
      <para
>Außerdem sind zusätzliche Werkzeugleisten vorhanden:</para>
      <itemizedlist>
        <listitem>
          <para
>Die Werkzeugleiste <guilabel
>Oberflächenelemente</guilabel
> für das Einfügen neuer Elemente in das Formular. </para>
        </listitem>
        <listitem>
          <para
>Die Werkzeugleiste <guilabel
>Format</guilabel
> zur Formatierung der Oberflächenelemente des Formulars (z. B. Elemente ausrichten und gruppieren). Diese Befehle finden Sie auch im Menü <guimenu
>Format</guimenu
>. Weitere Informationen finden Sie in <xref linkend="formatmenu"/>. </para>
        </listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="using-the-widgets-tab">
      <title
>Arbeiten mit der Karteikarte <guilabel
>Oberflächenelemente</guilabel
></title>
      <para
>Die Karteikarte <guilabel
>Oberflächenelemente</guilabel
> im <guilabel
>Eigenschaften-Editor</guilabel
> zeigt eine Liste der Elemente des Formulars und deren Hierarchie an. Jedes Element wird in der Hierarchie neben anderen Elementen in der gleichen Rangordnung (im selben Gruppenelement) angezeigt. Untergeordnete Elemente (innerhalb von Gruppenelementen) werden durch Einrückung der Namen gekennzeichnet. </para>
      <!--<para
>In the picture below, the form (a container) contains two widgets:
        <guilabel
>groupBox2</guilabel
> and <guibutton
>options</guibutton
> command button. In
        turn, <guilabel
>groupBox2</guilabel
> (being a container itself) contains two check box
        widgets.
      </para>
      <screenshot>
        <screeninfo
>Using the <quote
>Widgets</quote
> tab</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_04_widgets_tab.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>Using the <quote
>Widgets</quote
> tab</phrase>
          </textobject>
        </mediaobject>
      </screenshot
>-->
      <para
>Für jedes Element wird der Name und der Typ angezeigt. Der Typ wird zusätzlich durch ein Symbol gekennzeichnet, das gleiche Symbol finden Sie in der Werkzeugleiste, um damit Elemente einzufügen.  </para>
      <note>
        <itemizedlist>
          <listitem
> 
            <para
>Mit dem Wechsel des ausgewählten Elements in der Liste wird auch das zugehörige Element im Entwurfsformular ausgewählt. Das erleichtert die Suche nach Elementen über den Namen und die Navigation zwischen den Elementen. Es ist zum Beispiel möglich, ein Element anhand des Namens auszuwählen und dann zur Karteikarte <guilabel
>Eigenschaften</guilabel
> zu wechseln, um das Element zu bearbeiten.</para>
          </listitem>
          <listitem>
            <para
>Drücken Sie bei der Auswahl von Einträgen in der Elementliste die Taste <keycap
>Strg</keycap
>, um mehrere Elemente auszuwählen. Halten Sie die <keycap
>Umschalt</keycap
>taste gedrückt, um alle Elemente zu wählen. </para>
          </listitem>
          <!--<listitem>
            <para>
              When widget is inserted, it is recommended to give it a reasonable name.
              For example, <guilabel
>green</guilabel
> check box widget has been named specifically
              for its meaning, using the <guilabel
>Properties</guilabel
> tab
              (<guilabel
>Name</guilabel
> property has been used to do that). Such change
              can make it easier to find a widget within the list.
            </para>
            <screenshot>
              <screeninfo
>Naming the widget as <guilabel
>green</guilabel
></screeninfo>
              <mediaobject>
                <imageobject>
                  <imagedata fileref="img/05_04_04_renaming_widgets.png" format="PNG"/>
                </imageobject>
                <textobject>
                  <phrase
>Naming the widget as <guilabel
>green</guilabel
></phrase>
                </textobject>
              </mediaobject>
            </screenshot>
          </listitem
>-->
        </itemizedlist>
      </note>
      <para
>Sinnvolle Namen für Oberflächenelemente können nützlich sein, sind aber nicht zwingend erforderlich. Beachten Sie, dass der Name eines Elements eine für den Benutzer des Formulars nicht sichtbare Eigenschaft ist. Die Benutzer sehen nur den Text des Elements, der in der Eigenschaft <varname
>Text</varname
> eingetragen ist. </para>
    </sect2>
    
    <sect2 id="inserting-widgets-text-fields">
      <title
>Einfügen von Oberflächenelementen - Textfelder</title>
      <para
>Erstellen Sie ein Formular für Informationen über Personen, d. h. ein Formular für die Tabelle <literal
>Personen</literal
>. </para>
      <para
>Wenn in dem Formular Daten aus der Datenbank angezeigt werden sollen, müssen Sie dazu entsprechende <glossterm linkend="gloss-form-field"
>Felder</glossterm
> einfügen. Dazu benutzen Sie einen der Knöpfe in der Werkzeugleiste <guilabel
>Oberflächenelemente</guilabel
>. Für jede Art von Element ist ein zugehöriger Knopf vorhanden. </para>
      <procedure>
        <step>
          <para
>Klicken Sie auf den Knopf <guibutton
>Textfeld</guibutton
> in der Werkzeugleiste <guilabel
>Oberflächenelemente</guilabel
>. </para>
        </step>
        <step>
          <para
>Klicken Sie mit der <mousebutton
>linken</mousebutton
> Maustaste in das Formular und ein neues Textfeld wird an dieser Stelle eingefügt. Ehe Sie die Maustaste loslassen, können Sie durch Ziehen die Größe des Elements festlegen. </para>
        </step>
        <step>
          <para
>Falls erforderlich, verschieben Sie das eingefügte Element durch Ziehen und Ablegen an die gewünschte Position. Die Größe können Sie später durch Ziehen der kleinen Quadrate auf dem Rand eines Element verändern. Die Quadrate werden aber nur dann angezeigt, wenn das Element ausgewählt ist. Wählen Sie ein anderes Element oder das Formular selbst aus, werden die Quadrate ausgeblendet. </para>
        </step>
        <step>
          <para
>Klicken Sie noch einmal auf den Knopf <guibutton
>Textfeld</guibutton
> in der Werkzeugleiste und dann in das Formular, um ein weiteres Element einzufügen. Wiederholen Sie diese Aktion, bis Sie drei Textfelder in das Formular eingefügt haben. Zur Vereinfachung werden nur drei <guibutton
>Felder</guibutton
> benutzt. </para>
        </step>
      </procedure>
      <note>
        <itemizedlist>
          <listitem>
            <para
>Es gibt im Formularentwurfsmodus ein Kontextmenü, das Sie durch Klicken der <mousebutton
>rechten</mousebutton
> Maustaste auf das gewünschte Element oder die Oberfläche des Formulars öffnen. In diesem Menü finden Sie Befehle wie <guimenuitem
>Ausschneiden</guimenuitem
>, <guimenuitem
>Kopieren</guimenuitem
>, <guimenuitem
>Einfügen</guimenuitem
>, <guimenuitem
>Löschen</guimenuitem
> und andere. Viele dieser Befehle finden Sie auch in der Menüleiste, normalerweise im Menü <guimenuitem
>Bearbeiten</guimenuitem
>. Außerdem gibt es Tastenkürzel für diese Befehle. Einige Befehle gibt es nur für bestimmte Elemente. </para>
          </listitem>
          <listitem>
            <para
>Mit den Befehlen <guimenuitem
>Ausschneiden</guimenuitem
>, <guimenuitem
>Kopieren</guimenuitem
> und <guimenuitem
>Einfügen</guimenuitem
> können Sie Oberflächenelemente zwischen Formularen verschieben oder kopieren, sogar zwischen verschiedenen Datenbankprojekten. </para>
          </listitem>
          <listitem>
            <para
>Halten Sie die <keycap
>Strg</keycap
>-Taste beim Klicken auf ein Oberflächenelement gedrückt, um mehrere Elemente auszuwählen. </para>
          </listitem>
          <listitem>
            <para
>Anstatt ein Element mit den Befehlen <guimenuitem
>Kopieren</guimenuitem
> und <guimenuitem
>Einfügen</guimenuitem
> im selben Formular zu kopieren, können Sie auch die Taste <keycap
>Strg</keycap
> beim Verschieben drücken. Wenn Sie die Taste <keycap
>Strg</keycap
> losgelassen haben, wird das gezogene Element nicht verschoben, sondern eine Kopie an dieser Stelle eingefügt. </para>
          </listitem>
        </itemizedlist>
      </note>
    </sect2>

    <sect2 id="assigning-data-sources">
      <title
>Datenquellen zuweisen</title>
      <para
>Die von Ihnen eingefügten <glossterm linkend="gloss-form-field"
>Felder</glossterm
> sind noch nicht mit einer <emphasis
>Datenquelle</emphasis
> verbunden, daher können sie noch keine Informationen aus der Datenbank anzeigen. Dazu benutzen Sie die Karteikarte <guilabel
>Datenquelle</guilabel
> im <interface
>Eigenschaften-Editor</interface
>. </para>
      <para
>Als ersten Schritt geben Sie die <glossterm linkend="gloss-form-data-source"
>Datenquelle des Formulars</glossterm
> ein, aus der die angezeigten Daten geholt werden. Wie bereits vorher erwähnt, benutzen Sie die Tabelle <literal
>Personen</literal
> als <glossterm linkend="gloss-form-data-source"
>Datenquelle</glossterm
> für Ihr neues Formular. </para>
      <procedure>
        <step>
          <para
>Klicken Sie auf die Oberfläche des Formulars, da Sie seine Eigenschaften ändern wollen.</para>
        </step>
        <step>
          <para
>Wechseln Sie zur Karteikarte <guilabel
>Datenquelle</guilabel
> und tragen Sie den Namen der Tabelle <literal
>Personen</literal
> in das Kombinationsfeld <guilabel
>Datenquelle des Formulars</guilabel
> ein oder wählen Sie diesen Namen aus der Liste.  </para>
          <!--<screenshot>
            <screeninfo
>Entering <glossterm linkend="gloss-form-data-source"
>form's data source</glossterm
> name</screeninfo>
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/05_04_05_entering_form_data_source.png" format="PNG"/>
              </imageobject>
              <textobject>
                <phrase
>Entering <glossterm linkend="gloss-form-data-source"
>form's data source</glossterm
> name</phrase>
              </textobject>
            </mediaobject>
          </screenshot
>-->
        </step>
      </procedure>
      <para
>Damit haben Sie das Formular mit einer <glossterm linkend="gloss-form-data-source"
>Datenquelle</glossterm
> verbunden. Jetzt fehlen noch die Datenquellen für die Oberflächenelemente. </para>
      <procedure>
        <step>
          <para
>Klicken Sie auf das erste Textfeld oben im Formular.</para>
        </step>
        <step>
          <para
>Auf der Karteikarte <guilabel
>Datenquelle</guilabel
> des Eigenschaften-Editors tragen Sie den Feldnamen <literal
>Name</literal
> in das Kombinationsfeld <guilabel
>Datenquelle des Elements</guilabel
> ein oder wählen Sie diesen Namen aus der Liste.  </para>
          <!--<screenshot>
            <screeninfo
>Entering widget's data source name</screeninfo>
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/05_04_05_entering_text_field_data_source.png" format="PNG"/>
              </imageobject>
              <textobject>
                <phrase
>Entering widget's data source name</phrase>
              </textobject>
            </mediaobject>
          </screenshot
>-->
        </step>
        <step>
          <para
>Klicken Sie auf das nächste Textfeld und geben Sie <varname
>Nachname</varname
> als Datenquelle ein.</para>
        </step>
        <step>
          <para
>Geben Sie gleichfalls Datenquellen für die Text-<glossterm linkend="gloss-form-field"
>Felder</glossterm
> <varname
>Straße</varname
>, <varname
>Hausnummer</varname
> und <varname
>Stadt</varname
> ein. </para>
        </step>
      </procedure>
      <para
>Speichern Sie jetzt den Formularentwurfi (dies ist zum Testen des Formulars nicht zwingend erforderlich). Dazu klicken Sie auf den Knopf <guilabel
>Objektänderungen speichern</guilabel
> in der Werkzeugleiste oder wählen Sie im Menü <menuchoice
><shortcut
><keycombo action="simul"
><keycap
>Strg</keycap
><keycap
>S</keycap
></keycombo
></shortcut
> <guimenu
>Datei</guimenu
><guimenuitem
>Speichern</guimenuitem
></menuchoice
>. Beim Speichern werden Sie zur Eingabe des Namens für das Formular aufgefordert. Geben Sie <literal
>Personen</literal
> als Titel ein und klicken Sie auf <guibutton
>OK</guibutton
>. Der Name des Formulars wird dabei automatisch eingetragen. </para>
      <para
>Testen Sie jetzt Ihr Formular. Klicken Sie auf den Knopf <guibutton
>Zur Datenansicht wechseln</guibutton
> in der Werkzeugleiste. Wenn Sie keinen Fehler bei der Zuweisung der Datenquellen gemacht haben, werden die <glossterm linkend="gloss-form-field"
>Formularfelder</glossterm
> mit Daten aus der Tabelle <literal
>Personen</literal
> angezeigt. </para>
      <!--<screenshot>
        <screeninfo
>The <literal
>Persons</literal
> form in data view after inserting text fields and assigning data sources</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_06_form_with_text_fields.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>The <literal
>Persons</literal
> form in data view after inserting text fields and assigning data sources</phrase>
          </textobject>
        </mediaobject>
      </screenshot
>-->
      <note>
        <itemizedlist>
          <listitem>
            <para
>Wenn Sie die Verbindung eines Elements im Formular zur <glossterm linkend="gloss-form-data-source"
>Datenquelle</glossterm
> lösen wollen, klicken Sie auf den Knopf <guibutton
>Datenquelle des Elements löschen</guibutton
> neben dem Kombinationsfeld <guilabel
>Datenquelle des Elements</guilabel
>. Auf die gleiche Weise benutzen Sie den Knopf <guibutton
>Datenquelle des Formulars löschen</guibutton
> neben dem Kombinationsfeld <guilabel
>Datenquelle des Formulars</guilabel
>. </para>
          </listitem>
          <listitem>
            <para
>Benutzen Sie den Knopf <guibutton
>Zur Datenquelle des gewählten Formulars gehen</guibutton
> im <interface
>Projekt-Navigator</interface
>, um zugehörige Tabellen oder Abfragen auszuwählen. So können Sie schnell eine Tabelle oder Abfrage öffnen, die eine <glossterm linkend="gloss-form-data-source"
>Datenquelle</glossterm
> für das Formular ist.  </para>
          </listitem>
        </itemizedlist>
        <!-- TODO: mention about creating Auto Fields by using drag & drop -->
      </note>
    </sect2>

    <sect2 id="inserting-text-labels">
      <title
>Einfügen von Beschriftungsfeldern</title>
      <para
>Damit die Benutzer des Formulars die Bedeutung jedes Feldelements leichter erkennen, sollten Sie Beschriftungsfelder mit passenden Titeln hinzufügen. Dazu benutzen Sie das Oberflächenelement <literal
>Beschriftungsfeld</literal
>. </para>
      <para
>Fügen Sie drei Beschriftungsfelder in das Formular links vor den Textfeldern ein, rechts, wenn Sie auf einem System mit Schreibrichtung von rechts nach links arbeiten. Nach dem Einfügen des neuen Beschriftungsfeldes erscheint ein Textcursor zur Eingabe des Titels. Geben Sie nacheinander ein: <literal
>Vorname</literal
>, <literal
>Nachname</literal
> und <literal
>Straße</literal
>. Setzen Sie zusätzlich oben im Formular ein weiteres Beschriftungsfeld zur Anzeige des Formularnamens, z. B. <literal
>Personen</literal
> ein. Vergrößern Sie dieses Feld und die Schrift mit dem Befehl <menuchoice
><guimenu
>Format</guimenu
> <guimenuitem
>Schriftart ...</guimenuitem
></menuchoice
> im Menü. </para>
      <!--<screenshot>
        <screeninfo
>Ready to use form after adding text labels</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_06_form_with_labels.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>Ready to use form after adding text labels</phrase>
          </textobject>
        </mediaobject>
      </screenshot
>-->
    </sect2>

    <sect2 id="actions">
      <title
>Aktionen</title>
      <para
>Eine <literal
>Aktion</literal
> ist eine einzelne isolierte Aktivität in der Anwendung, die der Benutzer ausführen kann. Eine Aktion kann auch automatisch als Reaktion auf ein Ereignis (z. B. nach dem Öffnen eines Formulars) ausgeführt werden. </para>

      <sect3 id="assigning-actions-to-form-buttons">
        <title
>Zuweisung von Aktionen an Formularknöpfe</title>
        <para
>Viele Aktionen können Formularknöpfen zugewiesen werden. Die zugewiesene Aktion wird ausgeführt, wenn der Knopf gedrückt wurde. </para>
        <para
>Um eine Aktion zuzuweisen:</para>
        <procedure>
          <step>
            <para
>Wechseln Sie zur <interface
>Entwurfsansicht</interface
> des Formulars.</para>
          </step>
          <step>
            <para
>Wählen Sie ein vorhandenes Knopfelement durch Klicken aus oder fügen Sie einen Befehlsknopf in das Formular ein. Geben Sie dann einen Namen dafür ein und drücken Sie die Taste <keycombo action="press"
><keycap
>Eingabe</keycap
></keycombo
>. </para>
          </step>
          <step>
            <para
>Klicken Sie mit der <mousebutton
>rechten</mousebutton
> Maustaste auf das Knopfelement, um das Kontextmenü zu öffnen. </para>
          </step>
          <step>
            <para
>Wählen Sie aus dem Kontextmenü den Befehl <guimenuitem
>Aktion zuweisen ...</guimenuitem
>. </para>
          </step>
          <step>
            <para
>Der Dialog <guilabel
>Aktion einem Befehlsknopf zuweisen</guilabel
> mit einer Liste von möglichen Aktionen wird angezeigt. Wurde dem Element bereits eine Aktion zugewiesen, so ist sie in der Liste ausgewählt. Ansonsten ist der Eintrag <guilabel
>Keine Aktion</guilabel
> in der Liste <guilabel
>Aktionskategorie</guilabel
> ausgewählt. </para>
          </step>
          <step>
            <para
>Wählen Sie in der Liste <guilabel
>Aktionskategorie</guilabel
> den Eintrag <guilabel
>Programmaktionen</guilabel
>. Es werden alle Aktionen für das Programm aufgelistet. </para>
          </step>
          <step>
            <para
>Wählen Sie eine Aktion aus der Liste (z. B. <guilabel
>Zeile löschen</guilabel
>).</para>
          </step>
          <step>
            <para
>Klicken Sie auf den Knopf <guibutton
>OK</guibutton
> oder drücken Sie die Taste <keycombo action="press"
><keycap
>Eingabe</keycap
></keycombo
>, um Ihre Auswahl zu übernehmen. </para>
          </step>
        </procedure>
        <!--<screenshot>
          <screeninfo
>Assigning <guilabel
>Delete Row</guilabel
> action to a form's button</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/05_04_07_assigning_action_to_button.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Assigning <guilabel
>Delete Row</guilabel
> action to a form's button</phrase>
            </textobject>
          </mediaobject>
        </screenshot
>-->
        <para
>Wechseln Sie zur <emphasis
>Datenansicht</emphasis
> des Formulars und testen Sie, ob die Aktionen funktionieren. Wenn Sie zum Beispiel die Aktion <guilabel
>Zeile löschen</guilabel
> zugewiesen haben, wird beim Drücken des Knopfes die aktuelle Zeile in der Datenbank gelöscht, genauso wie bei der Ausführung des Menübefehls <menuchoice
><shortcut
><keycombo action="simul"
><keycap
>Strg</keycap
><keycap
>Entf</keycap
></keycombo
></shortcut
><guimenu
>Bearbeiten</guimenu
><guimenuitem
>Zeile löschen</guimenuitem
></menuchoice
>. Abhängig von Ihren Einstellungen müssen Sie das Löschen bestätigen. </para>

      <note>
        <itemizedlist>
          <listitem>
            <para
>Um eine zugewiesene Aktion zu entfernen, wählen Sie den Eintrag <guilabel
>Keine Aktion</guilabel
> in der Liste <guilabel
>Aktionskategorie</guilabel
> des Dialogs <guilabel
>Aktion einem Befehlsknopf zuweisen</guilabel
>. </para>
          </listitem>
          <listitem>
            <para
>Aktionen funktionieren nur in der <emphasis
>Datenansicht</emphasis
> des Formulars. Nicht jede Aktion ist sinnvoll. Zum Beispiel ist die Aktion <guimenuitem
>Schriftart ...</guimenuitem
> nur in der Datenansicht erreichbar, und nur dann, wenn Sie in der <interface
>Entwurfsansicht</interface
> ein Element ausgewählt haben. Änderungen der Schriftart werden auf den Text des ausgewählten Elements angewendet. </para>
          </listitem>
        </itemizedlist>
      </note>
      </sect3>
    </sect2>

    <sect2 id="widget-layouts">
      <title
>Anordnung von Oberflächenelementen</title>
      <para
>Formularelemente sollten sinnvoll angeordnet und ausgerichtet sein. Elemente manuell anzuordnen und auszurichten, ist aufwändig. Bei einer Größenänderung des Formulars werden die Anordnung und Ausrichtung nicht automatisch angepasst. Noch schlimmer, Sie können den Platzbedarf für ein Formular nicht abschätzen, da der Benutzer andere Schriftgrößen und eine andere Bildschirmauflösung verwenden kann. </para>
      <!--
      <para>
        The following example presents a form where text fields and labels were
        placed by hand. Some of them cannot fit in the form's window.
      </para>
      <screenshot>
        <screeninfo
>An example form with widgets that cannot not fit in the window</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_08_form_no_fit.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>An example form with widgets that cannot not fit in the window</phrase>
          </textobject>
        </mediaobject>
      </screenshot
>-->
      <para
>Das Werkzeug der Elementanordnung hilft dabei, die Elemente eines Formulars automatisch anzuordnen. Anordnung bedeutet, zwei oder mehr Elemente so in einer Gruppe zusammenzufassen, dass die Elemente die richtige Position und eine passende Größe haben. </para>
      <para
>Anordnung in einem Formular verbessert die Ausrichtung. Außerdem wird der Leerraum besser ausgenutzt, Textfelder werden näher zusammengeschoben und alle Elemente haben den gleichen Abstand. </para>
      <!--<screenshot>
        <screeninfo
>Example form with layout used</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_08_form_well_fit.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>Example form with layout used</phrase>
          </textobject>
        </mediaobject>
      </screenshot
>-->
      <para
>Es gibt zwei Möglichkeiten, Oberflächenelemente anzuordnen.</para>
      <itemizedlist>
        <listitem>
          <para
>Wählen Sie zwei oder mehr Elemente, die gemeinsam angeordnet werden sollen, und dann eine der Anordnungen im Eintrag <guilabel
>Oberflächenelement anordnen</guilabel
> des Kontextmenüs. </para>
        </listitem>
        <listitem>
          <para
>Klicken Sie auf ein Gruppenelement oder das Formular mit eingefügten Elementen und wählen Sie eine Art der Anordnung aus dem Kontextmenü im Eintrag "Oberflächenelemente anordnen". Alle in der Gruppe oder im Formular enthaltenen Elemente erhalten eine einzige gemeinsame Anordnung. </para>
        </listitem>
      </itemizedlist>
      <para
>Außerdem können Sie auch <menuchoice
><guimenu
>Format</guimenu
> <guimenuitem
>Oberflächenelement anordnen</guimenuitem
></menuchoice
> in der Menüleiste benutzen. </para>
      <!--<screenshot>
        <screeninfo
>Selecting widgets that will be put into a layout</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_08_form_layout_selecting.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>Selecting widgets that will be put into a layout</phrase>
          </textobject>
        </mediaobject>
      </screenshot>
      <screenshot>
        <screeninfo
>Four widgets are selected</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_08_form_layout_selected.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>Four widgets are selected</phrase>
          </textobject>
        </mediaobject>
      </screenshot>
      <screenshot>
        <screeninfo
>Using the context menu for putting the widgets into a grid layout</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_08_form_layout_popup.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>Using the context menu for putting the widgets into a grid layout</phrase>
          </textobject>
        </mediaobject>
      </screenshot
>-->
      <para
>Eine Elementanordnung wird in der Entwurfsansicht als Rechteck mit einer gestrichelten blauen, roten oder schwarzen Linie als Umrandung angezeigt. Diese Linie ist nur in der Entwurfsansicht sichtbar. </para>
      <!--<screenshot>
        <screeninfo
>Widgets within a grid layout</screeninfo>
        <mediaobject>
          <imageobject>
            <imagedata fileref="img/05_04_08_form_layout_grid.png" format="PNG"/>
          </imageobject>
          <textobject>
            <phrase
>Widgets within a grid layout</phrase>
          </textobject>
        </mediaobject>
      </screenshot
>-->
      <para
>Außer der Anordnung am Gitter gibt es noch zwei weitere Arten der Anordnung von Oberflächenelementen.</para>
      <variablelist>
        <varlistentry>
          <term
>Senkrecht</term>
          <listitem>
            <para
>Senkrechte Anordnung von Oberflächenelementen</para>
            <!--<screenshot>
              <screeninfo
>Vertical widget layout</screeninfo>
              <mediaobject>
                <imageobject>
                  <imagedata fileref="img/05_04_08_form_layout_vertical.png" format="PNG"/>
                </imageobject>
                <textobject>
                  <phrase
>Vertical widget layout</phrase>
                </textobject>
              </mediaobject>
            </screenshot
>-->
          </listitem>
        </varlistentry>
        <varlistentry>
          <term
>Waagrecht</term>
          <listitem>
            <para
>Waagrechte Anordnung von Oberflächenelementen</para>
            <!--<screenshot>
              <screeninfo
>Horizontal widget layout</screeninfo>
              <mediaobject>
                <imageobject>
                  <imagedata fileref="img/05_04_08_form_layout_horizontal.png" format="PNG"/>
                </imageobject>
                <textobject>
                  <phrase
>Horizontal widget layout</phrase>
                </textobject>
              </mediaobject>
            </screenshot
>-->
          </listitem>
        </varlistentry>
        <!-- TODO podzia poziomy / pionowy 
         <br
><img src="img/05_04_08_form_layout_vertical_splitter.png">
         <br
><br>
         <br
><img src="img/05_04_08_form_layout_horizontal_splitter.png">
         <br
><br>
        </li
> -->
      </variablelist>

      <sect3 id="springs-in-widget-layouts">
        <title
>Zwischenraum in der Anordnung der Oberflächenelemente</title>
        <para
>Ein <emphasis
>Zwischenraum</emphasis
> ist ein besonderes, unsichtbares Element, mit dem Sie die Position und Größe von Elementen anpassen können. Der Zwischenraum streckt oder schrumpft ein Element rechts, oben, unten oder links, damit es die gewünschte Größe und Position erhält. </para>
        <para
>Um einen Zwischenraum einzufügen:</para>
        <procedure>
          <step>
            <para
>Wählen Sie das Symbol Zwischenraum aus der Werkzeugleiste <guilabel
>Oberflächenelemente</guilabel
>. </para>
          </step>
          <step>
            <para
>Klicken Sie auf einen ausgewählten Punkt auf dem Formular, um den Zwischenraum einzufügen.</para>
          </step>
        </procedure>
        <!--<para>
          For the following example, the spring has been inserted on the left
          hand of the text label "Persons". The label is thus displayed on the
          right hand of the form. To make the spring work, it has been put into
          a common horizontal layout with the label.
        </para>
        <screenshot>
          <screeninfo
>Horizontal layout containing a spring and a text label</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/05_04_08_form_spring.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Horizontal layout containing a spring and a text label</phrase>
            </textobject>
          </mediaobject>
        </screenshot
>-->
        <para
>Damit ein Zwischenraum funktioniert, müssen Sie für das übergeordnete Element, d. h, das Formular, eine Anordnung auswählen. Dann kann der Zwischenraum die Ränder des Formulars als Grenzen für die Streckung benutzen. </para>
      </sect3>
      <!--
      
      TODO: The entire text in this section is built around a screenshot
            example, so it's commented out for now.

      <sect3 id="advanced-widget-layouts">
        <title
>Advanced widget layouts</title>
        <para>
          Widget layouts can be combined (or nested). On the following example
          you can identify two nested layouts:
        </para>
        <orderedlist>
          <listitem>
            <para>
              Horizontal layout with a spring, aligning the <literal
>Persons</literal>
              text label to the right.
            </para>
          </listitem>
          <listitem>
            <para
>Grid layout grouping widgets on the whole form.</para>
          </listitem>
        </orderedlist>
        <screenshot>
          <screeninfo
>Two widget layouts combined: horizontal layout inside of a grid layout</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/05_04_08_form_advanced_layout.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>Two widget layouts combined: horizontal layout inside of a grid layout</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
        <para>
          The horizontal layout is treated in the example as a single widget by
          the grid layout - it takes exactly one <quote
>cell</quote
> of the grid.
          After opening a form designed this way in the data view, you can notice
          (by resizing the form) that:
        </para>
        <itemizedlist>
          <listitem>
            <para>
              <literal
>Persons</literal
> text label thanks to the spring used is constantly
              aligned to the to the right side of the form.
            </para>
          </listitem>
          <listitem>
            <para>
              Text fields take all of the available width thanks to putting them
              into the grid layout.
            </para>
          </listitem>
          <listitem>
            <para>
              All the form's widgets are pushed to the top thanks to the spring
              used at the bottom of the form.
            </para>
          </listitem>
        </itemizedlist>
        <screenshot>
          <screeninfo
>The form using the two layouts displayed in data view</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/05_04_08_form_advanced_layout_view.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>The form using the two layouts displayed in data view</phrase>
            </textobject>
          </mediaobject>
        </screenshot>
      </sect3
>-->

      <sect3 id="removing-widget-layouts">
        <title
>Anordnung von Oberflächenelementen entfernen</title>
        <para
>Um die Anordnung von Oberflächenelementen zu entfernen, ohne die Oberflächenelemente selbst zu löschen, führen Sie eine dieser Aktionen aus: </para>
        <itemizedlist>
          <listitem>
            <para
>Klicken Sie mit der <mousebutton
>rechten</mousebutton
> Maustaste auf den Rand einer Anordnung und wählen Sie dann im Kontextmenü <guimenuitem
>Anordnung auflösen</guimenuitem
>. </para>
          </listitem>
          <listitem>
            <para
>Klicken Sie mit der <mousebutton
>linken</mousebutton
> Maustaste auf den Rand einer Anordnung und wählen Sie dann im Menü <menuchoice
><guimenu
>Format</guimenu
> <guimenuitem
>Anordnung auflösen</guimenuitem
></menuchoice
>. </para>
          </listitem>
        </itemizedlist>
        <note>
          <para
>Durch das Auflösen einer Elementanordnung mit dem Befehl <guimenuitem
>Anordnung auflösen</guimenuitem
> werden nicht die darin enthaltenen Elemente gelöscht. Wenn Sie die Elemente löschen wollen, klicken Sie auf den Rand und drücken Sie die Taste <keycap
>Entf</keycap
> oder benutzen Sie <menuchoice
><guimenu
>Bearbeiten</guimenu
> <guimenuitem
>Löschen</guimenuitem
></menuchoice
> im Menü oder Kontextmenü. </para>
        </note>
      </sect3>

      <sect3 id="size-policies-for-widgets-within-a-layout">
        <title
>Größen-Regelungen für die Anordnung von Oberflächenelementen</title>
        <para
>Anstatt einer festen Größe für Ihre Oberflächenelemente können Sie in &kexi; zwischen verschiedenen Größen-Regelungen für die Anordnung von Oberflächenelementen wählen. Eine <emphasis
>Größen-Regelung</emphasis
> ist eine flexible Strategie, die vorgibt, wie ein Element gestreckt oder gestaucht wird, abhängig von den benachbarten Elementen und dem vorhandenen Platz im Formular. </para>
        <para
>Wenn Sie für die Elemente eine <emphasis
>Anordnung</emphasis
> ausgewählt haben, hat jedes Element normalerweise eine proportionale (<guilabel
>Bevorzugt</guilabel
>) Größen-Regelung. Diese Elemente werden automatisch mit bevorzugten Einstellung in der Größe verändert, abhängig vom Elementtyp und der Größe der gesamten Anordnung. Drei Knöpfe zum Beispiel in einer senkrechten Anordnung werden in der Größe so verändert, dass der Text sichtbar bleibt. </para>
        <para
>Für jedes Oberflächenelement in einem Formular gibt es Einstellungen für die Größen-Regelung im <interface
>Eigenschaften-Editor</interface
>. Diese Einstellungen werden unter dem Begriff <guilabel
>Größen-Regelung</guilabel
> zusammengefasst. </para>
        <!--<screenshot>
          <screeninfo
>A group of properties for defining a widget's size policy</screeninfo>
          <mediaobject>
            <imageobject>
              <imagedata fileref="img/05_04_09_size_policy_properties.png" format="PNG"/>
            </imageobject>
            <textobject>
              <phrase
>A group of properties for defining a widget's size policy</phrase>
            </textobject>
          </mediaobject>
        </screenshot
>-->
        <para
>Diese Gruppe von Eigenschaften enthält:</para>
        <variablelist>
          <varlistentry>
            <term
><guilabel
>Waagrechte Größen-Regelung</guilabel
></term>
            <listitem>
              <para
>bestimmt die waagrechte Größe von Oberflächenelementen</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term
><guilabel
>Senkrechte Größen-Regelung</guilabel
></term>
            <listitem>
              <para
>bestimmt die senkrechte Größe von Oberflächenelementen</para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term
><guilabel
>Waagrechte Streckung</guilabel
></term>
            <listitem>
              <para
>bestimmt die Stärke der Eigenschaft <guilabel
>Waagrechte Größen-Regelung</guilabel
> </para>
            </listitem>
          </varlistentry>
          <varlistentry>
            <term
><guilabel
>Senkrechte Streckung</guilabel
></term>
            <listitem>
              <para
>bestimmt die Stärke der Eigenschaft <guilabel
>Senkrechte Größen-Regelung</guilabel
> </para>
            </listitem>
          </varlistentry>
        </variablelist>

        <sect4>
          <title
>Einstellungen für die Größen-Regelung</title>
          <para
>Die folgenden Werte können Sie für die Eigenschaften <guilabel
>Waagrechte Größen-Regelung</guilabel
> und <guilabel
>Senkrechte Größen-Regelung</guilabel
> im <interface
>Eigenschaften-Editor</interface
> einstellen: </para>
          <variablelist>
            <varlistentry>
              <term
><guilabel
>Fest</guilabel
></term>
              <listitem>
                <para
>die ursprüngliche Größe des Elements kann nicht verändert werden, es soll die beim Entwurf eingestellte Größe (Breite oder Höhe) behalten. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><guilabel
>Minimum</guilabel
></term>
              <listitem>
                <para
>die ursprüngliche Größe des Elements darf nicht verkleinert und muss nicht vergrößert werden, das Element kann jedoch - falls erforderlich - vergrößert werden. Mit dieser Art der Größen-Regelung wird ein Element auf die gesamte Breite oder Höhe gestreckt, vor allem wenn Sie einen Wert größer 0 für die Streckung eingeben. </para>
                <!--<screenshot>
                  <screeninfo
>Text field and two buttons within a grid layout (Minimum horizontal size policy is set for both buttons, so these are slightly wider than needed)</screeninfo>
                  <mediaobject>
                    <imageobject>
                      <imagedata fileref="img/05_04_09_size_policy_minimum.png" format="PNG"/>
                    </imageobject>
                    <textobject>
                      <phrase
>Text field and two buttons within a grid layout (Minimum horizontal size policy is set for both buttons, so these are slightly wider than needed)</phrase>
                    </textobject>
                  </mediaobject>
                </screenshot
>-->
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><guilabel
>Maximum</guilabel
></term>
              <listitem>
                <para
>die ursprüngliche Größe des Elements darf nicht vergrößert, jedoch soweit verkleinert werden, dass das Element noch lesbar ist und benutzbar bleibt, wenn andere Elemente mehr Platz brauchen. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><guilabel
>Bevorzugt</guilabel
></term>
              <listitem>
                <para
>die ursprüngliche Größe des Elements ist am besten und wird bevorzugt, das Element kann jedoch vergrößert und verkleinert werden und bleibt dabei noch lesbar. </para>
                <!--<screenshot>
                  <screeninfo
>Text field and two buttons within a grid layout (Preferred horizontal size policy is set for both buttons)</screeninfo>
                  <mediaobject>
                    <imageobject>
                      <imagedata fileref="img/05_04_09_size_policy_preferred.png" format="PNG"/>
                    </imageobject>
                    <textobject>
                      <phrase
>Text field and two buttons within a grid layout (Preferred horizontal size policy is set for both buttons)</phrase>
                    </textobject>
                  </mediaobject>
                </screenshot
>-->
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><guilabel
>Ausdehnung</guilabel
></term>
              <listitem>
                <para
>die ursprüngliche Größe des Elements ist sinnvoll, das Element kann jedoch auch verkleinert werden und soweit gestreckt werden, dass es den gesamten zur Verfügung stehenden Platz einnimmt. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><guilabel
>Minimale Ausdehnung</guilabel
></term>
              <listitem>
                <para
>die ursprüngliche Größe des Elements wird nicht verringert, aber es kann soweit möglich gestreckt werden. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><guilabel
>Ignoriert</guilabel
></term>
              <listitem>
                <para
>die ursprüngliche Größe des Elements wird ignoriert, das Element kann gestreckt werden, um möglichst viel Platz einzunehmen, solange dies nicht durch andere Element verhindert wird. </para>
              </listitem>
            </varlistentry>
          </variablelist>
          <para
>Verschiedene Arten von Oberflächenelementen haben auch verschiedene Größen-Regelungen als Voreinstellung, zum Beispiel ist diese für Befehlsknöpfe auf <guilabel
>Minimum</guilabel
> in beiden Richtungen als Standard eingestellt, während für Textfelder <guilabel
>Fest</guilabel
> als senkrechte Größen-Regelung vorgegeben ist. </para>
          <para
>Die am häufigsten benutzen Einstellungen für die Größen-Regelung sind: <guilabel
>Bevorzugt</guilabel
>, <guilabel
>Minimum</guilabel
> und <guilabel
>Maximum</guilabel
>. </para>
        </sect4>

        <sect4>
          <title
>Senkrechte und waagrechte Streckung</title>
          <para
>Die Eigenschaften <guilabel
>Vertikale Streckung</guilabel
> und <guilabel
>Waagrechte Streckung</guilabel
> können Werte größer oder gleich 0 haben. Mit diesen Werten bestimmen Sie im einzelnen das Verhalten der Größen-Regelung. Der Standardwert für diese Eigenschaft ist 0. Ein Element mit einem größeren Wert für die Streckung wird mehr gestreckt als ein Element mit einem kleineren Wert. </para>
          <!--<screenshot>
            <screeninfo
>Size of button widgets affected by setting Vertical Stretch property of the second button to 1</screeninfo>
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/05_04_09_size_policy_vertical_stretch.png" format="PNG"/>
              </imageobject>
              <textobject>
                <phrase
>Size of button widgets affected by setting Vertical Stretch property of the second button to 1</phrase>
              </textobject>
            </mediaobject>
          </screenshot
>-->
        </sect4>
      </sect3>
    </sect2>

    <sect2 id="setting-widgets-size-and-position-by-hand">
      <title
>Einstellung der Größe und Position der Oberflächenelemente von Hand</title>
      <para
>Wenn in Ihrem Formular keine Anordnung für die automatische Positions- und Größenänderung vorgegeben ist, wollen Sie vielleicht Position und Größe der Elemente bearbeiten, damit das Formular besser aussieht und einfacher zu benutzen ist. Im Formularentwurf wird diese Aufgabe in &kexi; durch folgende Gruppe von Befehlen erleichtert: </para>
      <itemizedlist>
        <listitem>
          <para
>Anpassen der Größe von ausgewählten Oberflächenelementen: Die Befehle für diese Aktionen finden Sie im Untermenü <menuchoice
><guimenu
>Format</guimenu
> <guisubmenu
>Größe der Oberflächenelemente anpassen</guisubmenu
></menuchoice
> in der Menüleiste oder im Untermenü <menuchoice
><guisubmenu
>Größe der Oberflächenelemente anpassen</guisubmenu
></menuchoice
> des Kontextmenüs. Auch in der Werkzeugleiste finden Sie den Knopf <guibutton
>Größe der Oberflächenelemente anpassen</guibutton
>. </para>
          <variablelist>
            <varlistentry>
              <term
><!--<img src="img/aofit.png" class="icon"
>--><guilabel
>Passend</guilabel
></term>
              <listitem>
                <para
>Die Größe der ausgewählten Oberflächenelemente wird passend für den Inhalt geändert, zum Beispiel wird ein Beschriftungsfeld der Größe des enthaltenen Textes angepasst. Die Position der Elemente bleibt dabei erhalten. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aogrid.png" class="icon"
>--><guilabel
>An Gitter</guilabel
></term>
              <listitem>
                <para
>Die Größe der ausgewählten Oberflächenelemente wird so verändert, dass die Ecken jedes Elements auf die Gitterpunkte des Formulars oder eines Gruppenelements gesetzt werden. Die Position der Elemente wird dabei geringfügig geändert. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aoshortest.png" class="icon"
>--><guilabel
>An das Kürzeste</guilabel
></term>
              <listitem>
                <para
>Die Höhe der ausgewählten Oberflächenelemente wird auf die Höhe des kürzesten Elements geändert. Die Position der Elemente bleibt dabei erhalten. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aotallest.png" class="icon"
>--><guilabel
>An das Längste</guilabel
></term>
              <listitem>
                <para
>Die Höhe der ausgewählten Oberflächenelemente wird auf die Höhe des längsten Elements geändert. Die Position der Elemente bleibt dabei erhalten. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aonarrowest.png" class="icon"
>--><guilabel
>An das Schmalste</guilabel
></term>
              <listitem>
                <para
>Die Breite der ausgewählten Oberflächenelemente wird auf die Breite des schmalsten Elements geändert. Die Position der Elemente bleibt dabei erhalten. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aowidest.png" class="icon"
>--><guilabel
>An das Breiteste</guilabel
></term>
              <listitem>
                <para
>Die Breite der ausgewählten Oberflächenelemente wird auf die Breite des breitesten Elements geändert. Die Position der Elemente bleibt dabei erhalten. </para>
              </listitem>
            </varlistentry>
          </variablelist>
        </listitem>
        <listitem>
          <para
>Ausrichten von ausgewählten Oberflächenelementen: Die Befehle für diese Aktionen finden Sie im Untermenü <menuchoice
><guimenu
>Format</guimenu
> <guisubmenu
>Oberflächenelemente ausrichten</guisubmenu
></menuchoice
> in der Menüleiste oder im Untermenü <menuchoice
><guisubmenu
>Oberflächenelemente ausrichten</guisubmenu
></menuchoice
> des Kontextmenüs. Zudem gibt es den Knopf <guibutton
>Oberflächenelemente ausrichten</guibutton
> in der Werkzeugleiste. </para>
          <variablelist>
            <varlistentry>
              <term
><!--<img src="img/aoleft.png" class="icon"
>--><guilabel
>Nach links</guilabel
></term>
              <listitem>
                <para
>Alle ausgewählten Oberflächenelemente werden mit der linken Kante auf die linke Kante des am weitesten links gelegenen Elements verschoben. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aoright.png" class="icon"
>--><guilabel
>Nach rechts</guilabel
></term>
              <listitem>
                <para
>Alle ausgewählten Oberflächenelemente werden mit der rechten Kante auf die rechte Kante des am weitesten rechts gelegenen Elements verschoben. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aotop.png" class="icon"
>--><guilabel
>Nach oben</guilabel
></term>
              <listitem>
                <para
>Alle ausgewählten Oberflächenelemente werden mit der oberen Kante auf die Oberkante des am höchsten gelegenen Elements verschoben. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aobottom.png" class="icon"
>--><guilabel
>Nach unten</guilabel
></term>
              <listitem>
                <para
>Alle ausgewählten Oberflächenelemente werden mit der unteren Kante auf die Unterkante des am tiefsten gelegenen Elements verschoben. </para>
              </listitem>
            </varlistentry>
            <varlistentry>
              <term
><!--<img src="img/aopos2grid.png" class="icon"
>--><guilabel
>An Gitter</guilabel
></term>
              <listitem>
                <para
>Alle ausgewählten Oberflächenelemente werden mit der linken obere Ecke auf den nächstgelegenen Gitterpunkt verschoben. </para>
              </listitem>
            </varlistentry>
          </variablelist>
          <para
>Keiner der oben genannten Befehle verändert die Größe der Oberflächenelemente.</para>
        </listitem>
      </itemizedlist>
      <para
>Es gibt zusätzlich folgende Befehle: <guimenuitem
>Oberflächenelement nach vorne holen</guimenuitem
> (d. h. vor alle anderen Elemente) und <guimenuitem
>Oberflächenelement nach hinten stellen</guimenuitem
> (d. h. hinter alle anderen Elemente). Diese Befehle werden selten gebraucht, da Elemente normalerweise nicht auf anderen angeordnet werden, mit Ausnahme von Gruppenelementen, die andere Oberflächenelemente enthalten. Beachten Sie auch, dass ein Element durch Anklicken mit der Maustaste nach vorne geholt wird. </para>
    </sect2>

    <sect2 id="setting-the-tab-order">
      <title
>Reihenfolge der Aktivierung</title>
      <para
>Ein aktiviertes Element erhält alle Eingaben der Tastatur. Es können nur Elemente in der Datenansicht des Formulars aktiviert werden. Nur genau ein einzelnes Element kann zur gleichen Zeit aktiviert sein. Am häufigsten wird die Aktivierung für Textfelder benutzt, d. h. wenn das Textfeld aktiviert ist, erhält es alle Tastatureingaben. Ein anderes Beispiel ist der Befehlsknopf, wenn er aktiviert ist, können Sie den Knopf mit der Taste <keycombo action="press"
><keycap
>Eingabe</keycap
></keycombo
> oder der <keycombo action="press"
><keycap
>Leer</keycap
></keycombo
>taste anstatt mit einer Maustaste <quote
>drücken</quote
>. </para>
      <para
>Es gibt mehrere Möglichkeiten, Elemente zu aktivieren: Klicken mit der Maus, Drehen des Mausrads über dem Element oder die Taste <keycombo action="press"
><keycap
>Tab</keycap
></keycombo
>. Die letzte Möglichkeit wird häufig benutzt, weil sie schnell und praktisch ist. Die Aktivierungsmethode wird durch die Eigenschaft <guilabel
>Aktivierungs-Regelung</guilabel
> eines Elements bestimmt. </para>
      <para
>Es gibt einen Zusammenhang zwischen der Aktivierung mit der Taste <keycombo action="press"
><keycap
>Tab</keycap
></keycombo
> und der Aktivierungsreihenfolge im Formular. Nach Drücken der Taste <keycombo action="press"
><keycap
>Tab</keycap
></keycombo
> soll das nächste Element aktiviert werden, daher muss im Formular diese Reihenfolge festgelegt werden. </para>
      <para
>Änderung der Aktivierungs-Reihenfolge der Elemente in einem Formular:</para>
      <procedure>
        <step>
          <para
>Wechseln Sie zur Entwurfsansicht des Formulars.</para>
        </step>
        <step>
          <para
>Öffnen Sie mit <menuchoice
><guimenu
>Bearbeiten</guimenu
> <guimenuitem
>Reihenfolge der Aktivierung bearbeiten ...</guimenuitem
></menuchoice
> im Menü den Dialog <guilabel
>Reihenfolge der Aktivierung bearbeiten</guilabel
> und ändern Sie die Einstellungen für dieses Formular. </para>
          <!--<screenshot>
            <screeninfo
>A window for editing tab order for a form</screeninfo>
            <mediaobject>
              <imageobject>
                <imagedata fileref="img/05_04_11_tab_stop_dialog.png" format="PNG"/>
              </imageobject>
              <textobject>
                <phrase
>A window for editing tab order for a form</phrase>
              </textobject>
            </mediaobject>
          </screenshot
>-->
          <para
>Im Fenster wird eine Liste mit zwei Spalten angezeigt: in der ersten Spalte die Namen und in der zweiten Spalte der Typ der Oberflächenelemente. Es werden außerdem Symbole für die Typen angezeigt, damit der Benutzer die Bedeutung der Namen und Typen leichter erkennt. Die Liste enthält nur Elemente, die mit der Taste <keycap
>Tab</keycap
> aktiviert werden können. Hier können Sie die Reihenfolge der Aktivierung ändern oder automatisch vergeben. </para>
        </step>
        <step>
          <para
>Es gibt folgende Möglichkeiten, die Reihenfolge der Aktivierung zu ändern:</para>
          <itemizedlist>
            <listitem>
              <para
>Klicken Sie auf ein Element in der Liste und ziehen Sie es mit gedrückter linker Maustaste nach oben oder nach unten zur gewünschten Position. </para>
            </listitem>
            <listitem>
              <para
>Klicken Sie auf ein Element in der Liste und dann auf die Knöpfe <guibutton
>Nach oben</guibutton
> oder <guibutton
>Nach unten</guibutton
>, um ein Element an die gewünschte Position zu verschieben. </para>
            </listitem>
            <listitem>
              <para
>Klicken Sie auf das Ankreuzfeld <guilabel
>Aktivierungs-Reihenfolge automatisch vergeben</guilabel
>. Mit dieser Einstellung werden alle Änderungen in der Liste der Oberflächenelemente nicht berücksichtigt. &kexi; vergibt dann die Reihenfolge automatisch. Zuerst wird das Element links oben aktiviert, dann alle Elemente in der ersten Reihe von links nach rechts, sowie nach dem gleichen Schema alle folgenden Reihen von oben nach unten. Bei einem System mit der Schreibrichtung von rechts nach links beginnt die Aktivierung rechts statt links. </para>
              <!--<screenshot>
                <screeninfo
>Automatic tab order for a form</screeninfo>
                <mediaobject>
                  <imageobject>
                    <imagedata fileref="img/05_04_11_auto_tab_stop.png" format="PNG"/>
                  </imageobject>
                  <textobject>
                    <phrase
>Automatic tab order for a form</phrase>
                  </textobject>
                </mediaobject>
              </screenshot
>-->
            </listitem>
          </itemizedlist>
        </step>
        <step>
          <para
>Klicken Sie auf <guibutton
>OK</guibutton
>, um die Änderungen zu übernehmen, oder auf <guibutton
>Abbrechen</guibutton
>, um die Änderungen zu verwerfen. </para>
        </step>
      </procedure>
    </sect2>
  </sect1>
