2010-03-25 5 views
1

J'ai une petite fenêtre qui sert à sélectionner les images triées par groupes, et j'aimerais ajouter une boîte de sélection autour de l'image qui est survolée. J'essaye ceci en substituant l'événement mouseMoved pour la fenêtre mais il semble qu'une fenêtre qui a un masque de style sans bordure ne reçoive aucun événement mouseMoved même si vous avez défini des événements setAcceptsMouseMoved sur YES. Est-il possible de faire qu'une fenêtre sans bordure reçoive ces événements?Obtenir une fenêtre sans bordure pour recevoir des événements mouseMoved (Cocoa OSX)

Répondre

4

Vous devez autoriser la fenêtre à devenir la fenêtre principale. Par défaut, les fenêtres sans bordure ne peuvent pas devenir des clés. NSWindow et passer outre la sous-classe -canBecomeKeyWindow:

- (BOOL)canBecomeKeyWindow 
{ 
    return YES; 
} 

Aternatively, vous pouvez utiliser un NSTrackingArea pour faire le suivi de votre souris, ce qui peut être plus facile/mieux de toute façon.

+0

Merci beaucoup qui a fait l'affaire. Je ne veux pas utiliser NSTrackingArea car je dois pouvoir cibler les versions d'OSX plus tôt que 10.5. – Mike2012

Questions connexes