Question

Je dois créer un menu pour une ligne sélectionnée d'une table, Je suis en mesure de créer en remplaçant

-(NSMenu*)menuForEvent:(NSEvent*)evt 

Méthode, d'une table, ce menu particulier comporte deux sous-menu, je suis en mesure de faire du sous-menu mais face à la suite de problème

1 - Pour ajouter un sous-menu dans un MenuItem, je dois obtenir du sous-menu à partir d'une autre classe / interface, je fais appel méthode suivante

pSubMenu = [CommonUIUtil GetCommonUIMenu:pSubMenu                                         
                                          ActionId:self                                   
                     Selector:@selector(MyMenuAction)];

Si le prototype de cette fonction est la suivante

+(NSMenu *)GetCommonStatusMenu:(NSMenu *)pMenu ActionId:(NSObject*)aDelegate Selector:(SEL)selector

La mise en œuvre comme ci-dessous,

// pStrArray is Array of String to have the Menu Title 
    for(int idx =0;idx<[pStrArray count];idx++)
    {
        pTempStr = [pStrArray objectAtIndex:idx];
        pImage = [CommUIController CommonGetImage:[CommonUIUtil GetImageByStatus:pTempStr]];
        [pImage setSize:NSMakeSize(20,20)];
        pMenuItem =[[NSMenuItem alloc]init];
        [pMenuItem setTitle:pTempStr];

                // this should set the selector 
        [pMenuItem setAction:selector];
                // Setting the target 
        [pMenuItem setTarget:aDelegate];

        [pMenuItem setImage:pImage];
        [pMenuItem setEnabled:YES];
        [pMenu addItem:pMenuItem];
        [pMenuItem release];

        }
    return pMenu;

Je suis en mesure de voir l'image, String sur ce sous-menu, mais le problème que je suis confronté est ce menu est pas du tout Activer, quelqu'un peut-il me guider, où je fais l'erreur,

Cette fonction retourne le menu et le menu i va ajouter ci-dessous,

pMenuItem = [pCTTableMenu itemWithTitle:@"Status"];
    //status menu is the menu returned from the above function,  
[pMainMenu setSubmenu:pStatusMenu forItem:pMenuItem];

Merci d'avance :)

Était-ce utile?

La solution

ressemble, je ne suis pas passer le mode de sélection correctement, en fait je ne sais pas comment passer le pointeur de fonction à Cocoa, probablement je mélange cacao / Objective C et normal C à la fois :), corrigé, il en la méthode qui vient créer la vue et dans la classe principale / l'interface attribuant cible et l'action

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top