« Programmation GTK2 en Pascal/GtkMenuItem » : différence entre les versions

Contenu supprimé Contenu ajouté
Didier (discussion | contributions)
Premier jet
(Aucune différence)

Version du 11 mars 2005 à 22:00

Programmation GTK2 en Pascal

Présentation

Le contrôle GtkMenuItem est l'élément, l'item de base qu'on retrouve dans un menu, mais également dans la barre de menu.

Hiérarchie

Hiérarchie
GObject
  └─GtkObject
      └─GtkWidget
          └─GtkContainer
              └─GtkBin
                  └─GtkItem
                      └─GtkMenuItem

Utilisation de base

Création

Pour créer un GtkMenuItem, il existe trois fonctions différentes :

function gtk_menu_item_new : PGtkWidget;
function gtk_menu_item_new_with_label(_label : Pgchar) : PGtkWidget;
function gtk_menu_item_new_with_mnemonic(_label : Pgchar) : PGtkWidget;

La première fonction crée un item vide, la deuxième un item avec un label à l'intérieur et la troisième un item avec un label qui accepte les raccourcis clavier.

Après avoir créé un item de menu vide avec la première fonction, on pourra ajouter un contrôle quelconque avec la fonction gtk_container_add.

Ajout dans un menu

Le contrôle GtkMenuItem ne possède pas de fonction qui permette d'ajouter un GtkMenuItem dans un GtkMenu (ou une GtkMenuBar). Il faut pour cela utiliser la fonction gtk_menu_shell_append du contrôle GtkMenuShell.

Attacher un menu

Pour attacher un GtkMenu à un GtkMenuItem, il faut utiliser cette fonction :

procedure gtk_menu_item_set_submenu(menu_item : PGtkMenuItem; submenu : PGtkWidget);

Le premier paramètre menu_item correspond à l'item qui va recevoir le menu submenu. Une fois cette fonction utilisée, un clic de souris sur le GtkMenuItem menu_item ouvrira le GtkMenu submenu.

Intercepter un clic de souris

Afin d'agir en fonction des actions de l'utilisateur, il faut intercepter le signal activate qui correspond à un clic de souris.

Programme exemple

Voir l'exemple écrit pour le contrôle GtkMenu qui met en œuvre des GtkMenuItem dans la barre de menu et dans un menu et dont certains ont un sous-menu rattaché.


Menu : GtkMenuBar ~ GtkMenu ~ GtkMenuShellGtkMenuItem ~ GtkImageMenuItem ~ GtkCheckMenuItem ~ GtkRadioMenuItem ~ GtkSeparatorMenuItem ~ GtkTearoffMenuItem