sous classe de NWindows qui vampirise les NSEvents

garekgarek Membre
23:35 modifié dans API AppKit #1
Salut,

j'ai subclassé la fenetre principale de mon appli afin qu'elle puisse répondre à  des touches de fonction.
Depuis, aucun de ses NSControls en subviews ne traite aucun évènement.
Il semble que tout remonte directement à  ma fenêtre.

Quelqu'un a une idée ?

Merci.

Garek

Réponses

  • BruBru Membre
    23:35 modifié #2
    Je pense que tu as oublié de transmettre à  super l'événement dans le cas où tu ne le gères pas.
    Par exemple, dans le cas d'un key-down-event :

    <br /><br />- (void)keyDown:(NSEvent *)theEvent<br />{<br />    if ([theEvent modifierFlags] &amp; NSFunctionKeyMask)<br />    {<br />        // code traitant les événements clavier spécifiques à  l&#39;appui d&#39;une touche de fonction...<br />    }<br />    else [super keyDown:theEvent];<br />}<br /><br />
    



    .
  • garekgarek Membre
    23:35 modifié #3
    j'envoyais bien les NSEvent non traités au super.
    Mais d'avoir suivi ton code, cela marche mieux.

    j'utilisais la méthode sendEvent dans laquelle je terminais par [super sendEvent: theEvent] qui ne marchais pas.

    D'avoir mis l'ensemble dans la méthode keyUp qui termine par [super keyUp: theEvent] cela marche parfaitement.

    Merci.
Connectez-vous ou Inscrivez-vous pour répondre.