2011-02-23 2 views
0

J'ai un NSView et à l'intérieur qui, il y a une étiquette: NSTextField contrôle, intérieur NSView je dois afficher un menu contextuel sur le clic droit, son travail bien, sauf quelques-dessous question,NSView | NSTextField Clic droit question

A un endroit où cela n'a pas fonctionné, c.-à-d. si je fais le clic droit, il n'ouvre pas le menu contextuel, plus je me suis rendu compte que j'ai gardé la longueur/largeur d'étiquette est trop grande et clic droit passe sur l'étiquette, mais depuis est la zone vide, de sorte que, par expérience utilisateur, il devrait permettre d'ouvrir le menu contextuel, je me sens suivre deux approches pour résoudre ce problème

1 - Vérifiez la largeur/longueur de l'exécution NSTextField pour définir le bon wi DTH,

2 - événement souris Pass (ou moins-clic droit) de NSTextField (étiquette) à son ParentView,

Quelqu'un peut-il me suggérer, comment puis-je y parvenir?

Cordialement

Rohan

Répondre

0

Je ne sais pas si cela aide, mais lorsque vous cliquez avec le bouton droit de la souris sur le NSTextField dans l'Interface Builder vous verrez un objet « menu ». Connexion ceci avec un NSMenu et vous avez un menu contextuel par défaut.

+0

Merci, je vais essayer de vous mettre à jour – Amitg2k12

0

Jusqu'à présent, son travail avec suivant morceau de code,

- (void) {initSubViews /* Dans cette fonction init seulement les sous-vues */ NSSize IMAGESIZE = [taille de pStatusImage];

pStatusImageView = [[NSImageView alloc]initWithFrame:NSMakeRect(0, 0,  
         imageSize.width,imageSize.height)]; 

pDisplayName = [[NSTextField alloc]initWithFrame:NSMakeRect(0, 0,   
        STATUS_WIDTH,STATUS_HEIGHT)]; 
[pDisplayName becomeFirstResponder]; 

**[pDisplayName setMenu:pCTTableMenu];** 

    .......................................................... 
    .......................................................... 
    .......................................................... 

}

donc je peux en mesure de voir le menu du clic droit,

Sincères salutations Rohan