next up previous contents
Nächste Seite: Panel Aufwärts: Die Komponenten Vorherige Seite: Popupmenu   Inhalt


Scrollbar

Abbildung: Beispiel für die Programmierung eines Schiebebalkens.
scrollbar.eps

Scrollbars sind verikale oder horizontale Schieberegler, die in der Regel dazu verwendet werdenFenterinhalte zu verschieben. So sind an einem Textelement automatische zwei Scrollbars angebunden. Mit Hilde der Scrollbars kann so auch Canvas aufgebaut werden, bei dem der Fensterinhalt verschoben werden kann. Da dies jedoch einen nicht unerheblichen Programmieraufwand bedeutet, wird im nächsten Kapitel ein Element (Scrollpane) vorgestellt, mit dem ein spolches Canvas viell leichter erstellt werden kann.

Scrollbar können jedoch auch für andere Zwecke benutzt werden. Das folgende Beispiel verwendet einen Scrollbar, um vom Benutzer einen Zahlenwert zu erhalten, der nur aus einem vorher festgelegten Zahlenbereich stammen darf:


    /* Example scrollbar.c */
    
    :
    scroll=j_hscrollbar(frame);
    :
    j_setmin(scroll,10);
    j_setmax(scroll,150);
    j_setslidesize(scroll,28);
    j_setunitinc(scroll,2);
    j_setblockinc(scroll,12);
    j_setvalue(scroll,50);
    
    while(1)
    {            
        :
        
        if(obj==scroll)
            printf("Scrollbar Value : %d\n",j_getvalue(scroll));
            
    }
    :

Die Funktion:


    scroll=j_hscrollbar(frame);

erzeugt zunachst einen Scrollbar, der mit initialen Werten belegt ist 2.3. Ein Scrollbar bietet ein Vielzahl von Einstellungsmöglichkeiten, die im folgenden einzeln aufgeführt werden.

Die obere und untere Grenze des wählbaren Bereichs wird mit den Funktionen:


    j_setmin(scroll,10);
    j_setmax(scroll,150);

festgelegt. Dabei legt die obere Grenze den linken Rand des Scrollbars fest. Dieser kann vom Benutzer jedoch nicht erreicht werden, da die Breite des Schiebereglers von diesem Maximalen Wert abzuziehen ist. Werden diese Werte nicht gesetzt, so werden die default Werte von 0 für die untere Grenze und 100 für die obere Grenze übernommen. Die Breite des Schieberegler wird mit der Funktion:


    j_setslidesize(scroll,28);

festgelegt. Daraus ergibt sich für das Beispiel, das mit dem Regler ein Wertebereich von $10$ bis $150-28=122$ angewählt werden kann. Die Standardeinstellung für diesen Wert ist 10. Um den Schieber zu bewegen hat der Benutzer mehrere Möglichkeiten. Die einfachste Art ist den Regler mit der Maus zu greifen, und direkt zu bewegen. Zusätzlich gibt es noc die Möglichkeit die Pfeile am Ende der Scrollbar anzuklicken. In diesem Fall wird der Regel jeweil um eine Einheit in die entsprechende Richtung bewegt. Die Größe dieser Einheit kann mit dem Befehl:


    j_setunitinc(scroll,2);

eingestellt werden. Der Defaulteintrag ist $1$. Neben den Pfeilen kann auch der freie Raum neben dem Regler angeklickt werden. In diesem Fall wird der Regler um eine Blocllänge verschoben. Die Blockgröße kann mit dem Befehl:


    j_setblockinc(scroll,12);
 

eingestellt werden. Der Defaulteintrag ist $10$.

Die initiale Position des Reglers wird mit der Funktion:


    j_setvalue(scroll,50);

eingestellt. Der Defaulteintrag ist $0$.


next up previous contents
Nächste Seite: Panel Aufwärts: Die Komponenten Vorherige Seite: Popupmenu   Inhalt
Merten Joost 2003-02-26