ein Kapitel zurück                                           ein Kapitel weiter

Da für die vertikale Scrollbox dasselbe gilt wie für die Horizontale, wollen wir diese Thema recht kurz halten. Zuerst die Funktion mit der wir eine Vertikale Box erstellen:

GtkWidget *gtk_hscrollbar_new(GtkAdjustment *adj);  

Und noch das Programmbeispiel dazu:

/*Download:gtkscr4.c*/

#include <gtk/gtk.h>


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


void scrollbar_cb(GtkAdjustment *adj, gpointer user_data)
{
 g_print("%s hat sich verändert ",(char *)user_data);
 g_print("neue Pos. : %f\n", adj->value);
}


int main(int argc, char **argv)
{
 GtkWidget *fenster;
 GtkWidget *box, *box2;
 GtkWidget *hscrollbar1, *hscrollbar2, *hscrollbar3;
 GtkWidget *button_quit;
 GtkObject *adj1, *adj2, *adj3;

 /*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(50.0, 0.0, 100.0, 0.1, 1.0, 1.0);
 adj2 = gtk_adjustment_new(0.0, 0.0, 100.0, 10.0, 1.0, 1.0);
 adj3 = gtk_adjustment_new(0.0, 0.0, 100.0, 1.0, 1.0, 50.0);

 hscrollbar1 = gtk_vscrollbar_new(GTK_ADJUSTMENT(adj1));
 hscrollbar2 = gtk_vscrollbar_new(GTK_ADJUSTMENT(adj2));
 hscrollbar3 = gtk_vscrollbar_new(GTK_ADJUSTMENT(adj3));



 /*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);
 gtk_signal_connect(GTK_OBJECT(adj1), "value_changed",
                    GTK_SIGNAL_FUNC(scrollbar_cb), "Scrollbar 1");
 gtk_signal_connect(GTK_OBJECT(adj2), "value_changed",
                    GTK_SIGNAL_FUNC(scrollbar_cb), "Scrollbar 2");
 gtk_signal_connect(GTK_OBJECT(adj3), "value_changed",
                    GTK_SIGNAL_FUNC(scrollbar_cb), "Scrollbar 3");


 /*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), hscrollbar1, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), hscrollbar2, FALSE, FALSE, 0);
 gtk_box_pack_start(GTK_BOX(box), hscrollbar3, 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:




ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf