« Programmation GTK2 en Pascal/GtkMenuItem » : différence entre les versions
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
.
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
.
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 ~ GtkMenuShell — GtkMenuItem ~ GtkImageMenuItem ~ GtkCheckMenuItem ~ GtkRadioMenuItem ~ GtkSeparatorMenuItem ~ GtkTearoffMenuItem |