2010-01-30 5 views
3

J'ai un NSStatusItem et je veux afficher un menu contextuel en cliquant à droite sur l'élément. J'ai sous-classé un NSView et écrasé la méthode - (void)rightMouseDown:(NSEvent *)event. J'ai également mis en œuvre - (void)mouseDown:(NSEvent *)event pour regarder les modificateursflags. Mon problème est, que la vue ne reçoit pas le NSRightMouseDown -Event. Et je ne sais pas pourquoi? Des idées pour obtenir cet événement? Naturellement, j'ai ajouté la vue personnalisée à la statusitem.Clic-droit sur un NSStatusItem

- MISE À JOUR -
Informations complémentaires: J'ai ajouté un NSImageView aux sous-vues de mon point de vue personnalisé.

- MISE À JOUR 2-
Informations complémentaires: Il est conforme au protocole NSMenuDelegate.

+0

Je suis perplexe. Je viens de créer une application de test courte, et j'ai pu recevoir les deux événements 'mouseDown' et' rightMouseDown'. Peut-être pourriez-vous nous donner plus d'informations sur la conception de votre sous-classe NSView? – MJeffryes

Répondre

1

Ok. Problème résolu. Le problème était le NSImageView. Je l'ai sous-classé et maintenant je redirige tous les événements mouseDown et rigthMouseDown vers sa vue d'ensemble (ma vue personnalisée).