ein Kapitel zurück                                           ein Kapitel weiter

Das Vertikale Scale Widget funktioniert genauso wie das Horizontale. Es wird folgendermaßen erzeugt:

GtkWidget *gtk_vscale_new(GtkAdjustment *adj);  

Und auch hierzu ein Beispiel:

/*Download:gktsca2.c*/

#include <gtk/gtk.h>


void ende_cb(GtkObject *object)
{
 gtk_main_quit();
}


int main(int argc, char **argv)
{
 GtkWidget *fenster;
 GtkWidget *box, *box2;
 GtkWidget *vscale1, *vscale2, *vscale3;
 GtkWidget *button_quit;
 GtkObject *adj1, *adj2, *adj3;
 gint val;

 /*Gtk initialisieren*/
 gtk_init(&argc, &argv);
 /*Ein neues Fenster erstellen*/
 fenster = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 /*Buttons erstellen*/

 button_quit  = gtk_button_new_with_label("Ende");
 /*Neue Box erstellen*/
 box = gtk_hbox_new(FALSE,10);
 box2= gtk_vbox_new(TRUE,0);

 adj1 = gtk_adjustment_new(0.0, 0.0, 101.0, 0.1, 1.0, 1.0);
 adj2 = gtk_adjustment_new(50.0, 0.0, 101.0, 10.0, 1.0, 1.0);
 adj3 = gtk_adjustment_new(100.0, 0.0, 101.0, 1.0, 1.0, 1.0);

 vscale1 = gtk_vscale_new(GTK_ADJUSTMENT(adj1));
 vscale2 = gtk_vscale_new(GTK_ADJUSTMENT(adj2));
 vscale3 = gtk_vscale_new(GTK_ADJUSTMENT(adj3));
 /*Anzeige Positionieren*/
 gtk_scale_set_value_pos(GTK_SCALE(vscale1), GTK_POS_LEFT);
 gtk_scale_set_value_pos(GTK_SCALE(vscale2), GTK_POS_TOP);
 gtk_scale_set_value_pos(GTK_SCALE(vscale3), GTK_POS_RIGHT);
 /*Keine Stellen nach dem Komma*/
 gtk_scale_set_digits(GTK_SCALE(vscale1), 0);
 gtk_scale_set_digits(GTK_SCALE(vscale2), 0);
 gtk_scale_set_digits(GTK_SCALE(vscale3), 0);

 /*Signale registrieren*/
 gtk_signal_connect_object(GTK_OBJECT(button_quit), "clicked",
                           GTK_SIGNAL_FUNC(ende_cb), GTK_OBJECT(fenster));
 gtk_signal_connect(GTK_OBJECT(fenster), "destroy",
                    GTK_SIGNAL_FUNC(ende_cb), NULL);


 /*Fensterposition*/
 gtk_window_set_position(GTK_WINDOW(fenster),GTK_WIN_POS_CENTER);

 gtk_container_set_border_width(GTK_CONTAINER(fenster),25);

 /*Nun alles rein in die Box....*/
 gtk_box_pack_start(GTK_BOX(box), vscale1, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), vscale2, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), vscale3, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box2), box, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box2), button_quit, FALSE, FALSE, 20);


 gtk_container_add(GTK_CONTAINER(fenster),box2);

 /*Zeigs uns.....*/
 gtk_widget_show_all(fenster);

 gtk_main();

 return 0;
}

Und so könnte es aussehen:




Das Programm bietet nichts neues mehr. Die weiteren Funktionen haben sie bereits im Kapitel zuvor kennen gelernt.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf