Enseignement de l'allemand/Müssen et sollen

Sollen.
Emploi.
Retour Enseignement de l'allemand

Enseignement de l'allemand/Wollen et mögen

Mögen.
Emploi.
Retour Enseignement de l'allemand

Programmation GTK2 en Pascal/GtkImage
Présentation.
Le contrôle GtkImage va nous permettre d'afficher des images à l'intérieur de nos fenêtres.
Utilisation de base.
Création.
Pour ce contrôle, il y a toute une panoplie de fonction de création. Nous n'allons en étudier que quelques-unes, car certaines font appel à des notions plus complexes. Voici donc les fonctions étudiées :
 function gtk_image_new : PGtkWidget;
 function gtk_image_new_from_file(filename : Pgchar) : PGtkWidget;
 function gtk_image_new_from_stock(stock_id : Pgchar; size : TGtkIconSize) : PGtkWidget;
La première crée une image mais complètement vide.
La deuxième crée l'image à partir du fichier codice_1. Gtk+ est capable d'utiliser les images qui sont au format PNG, JPEG, TIFF. Le chemin du fichier codice_1 peut être relatif ou absolu. Si le chemin spécifié est incorrect ou que le format de l'image est invalide, l'image de retour présentera une croix rouge sur fond blanc.
La troisième fonction, récupère l'image qui est associée à un objet codice_3 afin de l'afficher. Le paramètre codice_4 peut prendre sept valeurs différentes pour définir la taille de l'image à afficher :
Modification de l'image..
Cette étape intervient lorsque vous avez créé une image vide ou lorsque vous voulez changer d'image. Les deux fonctions étudiées ici sont :
 procedure gtk_image_set_from_file(image : PGtkImage; filename : Pgchar);
 procedure gtk_image_set_from_stock(image : PGtkImage; stock_id : Pgchar; size : TGtkIconSize);
Les paramètres sont les mêmes que lors de la création d'un contrôle GtkImage, sauf qu'il faut préciser à quel contrôle il faut appliquer l'image.
Programme exemple.
Voilà le fichier codice_5 :
 program gtk015;
 uses glib2, gtk2;
 var
 pFenetre : PGtkWidget;
 pVBox : PGtkWidget;
 pImage : PGtkWidget;
 pImageQuitter : PGtkWidget;
 pBtnQuitter : PGtkWidget;
 begin
 gtk_init(@argc, @argv);
 pFenetre := gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_window_set_position(GTK_WINDOW(pFenetre), GTK_WIN_POS_CENTER);
 gtk_window_set_default_size(GTK_WINDOW(pFenetre), 320, 200);
 gtk_window_set_title(GTK_WINDOW(pFenetre), 'Gtk015 : Images');
 gtk_signal_connect(pGTKOBJECT(pFenetre), 'destroy', GTK_SIGNAL_FUNC(@gtk_main_quit), NULL);
 pVBox := gtk_vbox_new(FALSE, 0);
 gtk_container_add(GTK_CONTAINER(pFenetre), pVBox);
 // Chargement d'une image a partir d'un fichier 
 pImage := gtk_image_new_from_file('./gtk.png');
 gtk_box_pack_start(GTK_BOX(pVBox), pImage, FALSE, FALSE, 5);
 pBtnQuitter := gtk_button_new;
 gtk_box_pack_start(GTK_BOX(pVBox), pBtnQuitter, TRUE, FALSE, 5);
 g_signal_connect(pGTKOBJECT(pBtnQuitter), 'clicked', GTK_SIGNAL_FUNC(@gtk_main_quit), NULL);
 // Chargement d'une image a partir d'un GtkStockItem 
 pImageQuitter := gtk_image_new_from_stock(GTK_STOCK_QUIT, GTK_ICON_SIZE_LARGE_TOOLBAR);
 gtk_container_add(GTK_CONTAINER(pBtnQuitter), pImageQuitter);
 gtk_widget_show_all(pFenetre);
 gtk_main;
 end.
Voilà ce que donne l'exécution du programme codice_6 :

Programmation GTK2 en Pascal/GtkStatusBar