Les Menus

  1. Introduction
  2. Création du menu

1. Introduction

Dans ce cours, nous allons découvrir ensemble comment placer des menus dans une fenêtre en utilisant le langage C, librairie GTK+. Dans ce cas, nous allons utiliser trois widgets qui sont :

  • GtkMenuBar pour création de la barre des menus.
  • GtkMenu pour la création du menu
  • GtkMenuItem pour la création des éléments du menu

Il faut noter que GtkMenuBar et GtkMenu héritent directement de GtkMenuShell. Ce dernier hérite directement de GtkContainer.
Quant à GtkMenuItem, il hérite directement de GtkItem. Ce dernier est le fils de GtkBin et petit fils de GtkContainer.

2. Création du menu

Pour créer le menu, on va commencer par créer 3 pointeurs (pour nos 3 widgets) vers GtkWidget.
Dans notre cas, ça sera :

Après on passe à l’initialisation :

  • Pour la barre de menu, on utilise cette syntaxe :
    GtkWidget* gtk_menu_bar_new(void);
    Dans notre cas, ça sera :
  • Pour le menu, on utilise cette syntaxe :
    GtkWidget* gtk_menu_new(void);
    Dans notre cas, ça sera :
  • Pour l’item (élément du menu), on utilise une des ces syntaxes :
    GtkWidget* gtk_menu_item_new(void);
    GWidget* gtk_menu_item_new_with_label(const gchar* label);
    GtkWidget* gtk_menu_item_new_with_mnemonic(const gchar* label);

    Dans notre cas, ça sera:

Maintenant il faut insérer l’item créé dans le menu. Dans ce cas, on utilise cette syntaxe :
void gtk_menu_shell_append(GtkMenuShell *menu_shell, GtkWidget *child); Dans notre cas, ça sera :

Ensuite on va associer l’item au menu. La syntaxe utilisée est :
void gtk_menu_item_set_submenu(GtkMenuItem *menu_item, GtkWidget *submenu);
Dans notre cas, ça sera :

Finalement, il ne reste qu’ajouter la barre dans la fenêtre.

Maintenant passons à l’exemple :

Voici une capture de ce que nous allons faire:
, cours langage C, GtkMenuBar, GtkMenu, GtkMenuItem
Code C :



Une question? Cliquez ici pour la poser.

Retour sur le portail du langage C/C++