/*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;
}
|