Aqui tienes un ejemplo de como usar la scrolled window. Has de meterlo en un viewpor, es lo mas importante que te puedo decir. Y que para que se vean las barras de desplazamiento, han de estar en una ventana en la que el widget no quepa entero. si cabe, no se ven as barras.
Yo empecé a programar hace cosa de 3 meses. He acabado mi proyecto y estoy empezando a documentarlo. Espero que esto te sirva de ayuda. Yo lo he hecho todo con las GTK usando el code_blocks, un ide muy muy recomendable. Lo que pasa es que ahora estoy gastando las librerias GDK y en windows usando el codeblocks no me compila, me da muchos "undefined reference to...". Por suerte el programa debe ser para linux, y allí el mismo codigo usando el mismo coeblocks me da 0 errores y 0 warnings.
Bueno, aqui tienes lo tuyo, compila con 0 errores y 0 warnings. Para culquier cosa, agregame a psaval . @ . hotmail.com (borra los puntos anteriores y finales a la arroba):
Código:
#include <stdlib.h>
#include <gtk/gtk.h>
int main (int argc, char *argv[])
{
GtkWidget *win = NULL;
GtkWidget *vbox = NULL;
GtkWidget *draw, *frame, *scrolled_window, *label = NULL;
gtk_init (&argc, &argv);
win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_set_border_width (GTK_CONTAINER (win), 8);
gtk_window_set_title (GTK_WINDOW (win), "Hello World");
gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER);
gtk_window_set_default_size( GTK_WINDOW( win ), 400, 300 );
gtk_widget_realize (win);
g_signal_connect (win, "destroy", gtk_main_quit, NULL);
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), 10);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
frame = gtk_frame_new( "Frame 1" );
label = gtk_label_new ("Temp 1");
draw = gtk_drawing_area_new();
gtk_drawing_area_size (GTK_DRAWING_AREA (draw), (600), 400);
gtk_scrolled_window_add_with_viewport (
GTK_SCROLLED_WINDOW (scrolled_window), draw);
gtk_container_add( GTK_CONTAINER( frame ), scrolled_window );
vbox = gtk_vbox_new (TRUE, 6);
gtk_container_add (GTK_CONTAINER (win), vbox);
gtk_container_add( GTK_CONTAINER( vbox ), frame );
/* Enter the main loop */
gtk_widget_show_all (win);
gtk_main ();
return 0;
}