[IB] Bouton avec sous menu
Grm
Membre
Bien le bonjour à tous !
J'ai besoin de votre aide après quelques heures perdues dans les tréfonds de l'interweb. Je suis à la recherche de LA solution qui me permettrait d'avoir un bouton qui avec un clique effectue une action et avec un appui long affiche un menu d'actions pouvant être réalisées.
Un peu comme pour ce bouton d'Xcode 4 :
ici : http://pommedev.mediabox.fr/utilisation-des-classes-cocoa/bouton-avec-menu/
là : http://pommedev.mediabox.fr/utilisation-des-classes-cocoa/bouton-speciaux/
ou encore là : http://pommedev.mediabox.fr/utilisation-des-classes-cocoa/nsmenu-sur-nsbutton/
En farfouillant sur le forum j'ai deja trouver quelques sujet à ce propos mais à chaque fois la solution proposée en pièce jointe n'est plus accessible.
Donc si vous avez le moindre truc pour m'aider je prend
J'ai besoin de votre aide après quelques heures perdues dans les tréfonds de l'interweb. Je suis à la recherche de LA solution qui me permettrait d'avoir un bouton qui avec un clique effectue une action et avec un appui long affiche un menu d'actions pouvant être réalisées.
Un peu comme pour ce bouton d'Xcode 4 :
ici : http://pommedev.mediabox.fr/utilisation-des-classes-cocoa/bouton-avec-menu/
là : http://pommedev.mediabox.fr/utilisation-des-classes-cocoa/bouton-speciaux/
ou encore là : http://pommedev.mediabox.fr/utilisation-des-classes-cocoa/nsmenu-sur-nsbutton/
En farfouillant sur le forum j'ai deja trouver quelques sujet à ce propos mais à chaque fois la solution proposée en pièce jointe n'est plus accessible.
Donc si vous avez le moindre truc pour m'aider je prend
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
NSMenuItem permet de foutre un titre, une image, et d'associer tout ça à une belle action à laquelle sera censé répondre une target.
Par contre pour faire apparaitre le menu il faut que je passe par le code ou pas, ça me fait pas peur mais si ça peut-être fait magicalement (je sais c'est pas dans un dico mais ça faite awesome)
Si tu veux que ça soit fait en clique-gauche, 2 solutions:
• Sous-classe de NSButton afin de surcharger le sendEvent:
• Ou simplement faire apparaitre le menu manuellement l'action du bouton avec une méthode de NSMenu du style displayAtLocation.....
Au final j'ai choisi de sous classer NSButton pour afficher le menu en cas d'appui long sur le bouton.
En fouillant sur le forum j'ai trouvé une méthode :
Mais tout ceci ne s'effectue que lorsque je relâche le bouton de la souris. D'ou peut venir le souci d'apres toi ?
Mon code :
Je l'ai retiré et ça marche. Mais si quelqu'un peut m'expliquer le pourquoi du comment je me coucherais moins bête ce soir