Aller au contenu

LispWorks CAPI/Créer des menus/Désactivation des éléments de menu

Un livre de Wikilivres.
LispWorks CAPI
LispWorks CAPI
LispWorks CAPI
Sommaire

Modifier ce modèle

Une fonction peut être utilisé par l'initarg :enabled-function pour déterminer si un menu, un élément de menu est actif. Par défaut cet objet est toujours actif.

Considérez l'exemple suivant

(defvar *on* nil)

(contain
 (make-instance 'menu
                :items
                (list 
                 (make-instance 
                 'menu-item
                 :title "Foo"
                 :enabled-function 
                 #'(lambda (menu) *on*))
                (make-instance 
                 'menu-item
                 :title "Bar"))))

En changeant la valeur de *on* de t à nil dans le Listener (en utilisant setq), donne comme résultat le changement de l'état actif à non-actif.