popup menu dans nsview?

mksoft_

Membre confirmé
25 Octobre 2006
15
0
Bonjour

Quelqu'un sait comment faire "popup-er" un NSMenu à une position précise dans un NSView ?
J'ai cherché partout sur le net mais je n'ai rien trouvé...

Merci
smile.gif
 
Je présume que tu veux un pop-up menu en menu contextuel (à moins que tu veule un menu qui apparait avec un clic normal, ce qui me surprendrait), alors c'est dans NSMenu que tu peux trouver la méthode :

Bloc de code:
+ (void)popUpContextMenu:(NSMenu*)menu withEvent:(NSEvent*)event 
forView:(NSView*)view
menu : ton menu, créé programmatiquement ou via IB...
event : je te déconseille de contruire le NSEvent toi-même, tu risque de faire une crise cardiaque, avec la méthode de 1 km de long. À la place, tu override la méthode mouseDown dans ta NSView, tu call la méthode ci-dessus dans ton mouseDown, et tu prend la référence du NSEvent...
view : ta NSView, donc "self"...

En fin de compte, ça pourrait ressembler à ça :

Bloc de code:
- (void)mouseDown:(NSEvent *)theEvent
{
[NSMenu popUpContextMenu:monMenu withEvent:theEvent 
forView:maVue];
}
Je l'ai pas essayé, je te dis ça avec mon expérience et la déduction, mais ça devrait marcher...
En cas de doute, va voir la doc de Apple :

http://developer.apple.com/document...pplicationKit/Classes/NSMenu_Class/index.html