2010-08-26 22 views
0

J'ai un menu d'état avec un NSSearchField et des éléments de menu. Lorsque le champ de recherche est actif et que l'utilisateur appuie sur les flèches vers le bas, je voudrais lancer le suivi du menu, c'est-à-dire que l'utilisateur pourra se déplacer avec les touches fléchées entre les éléments du menu. Je peux attraper les sélecteurs moveUp et moveDown. Comment puis-je faire en sorte que le menu devienne un répondeur clé?comment définir le focus sur NSMenu (le faire obtenir des événements clés)?

Merci,

Nava

+0

Plus de détails, s'il vous plaît. –

+0

Nava Carmon: Parlez-vous de quitter le champ de recherche et de naviguer dans le menu parent du champ, ou d'entrer dans le menu contextuel du champ? –

+0

Quitter le champ de recherche et naviguer dans le menu parent avec les flèches haut et bas. Comment puis-je prendre le focus du champ de recherche et le passer à NSMenu? Merci –

Répondre

0

Incendie d'un événement kCGEventMouseMoved sur mouseUp/Down. Afficher/Cacher le curseur sur votre choix ... Le principal défi ici est de trouver la bonne origine (point de souris global). Quelqu'un a une idée comment trouver un rectangle NSMenuItem?

CGEventRef mouseEvent = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, NSPointToCGPoint(globalOrigin) , kCGMouseButtonLeft); 
CGEventPost(kCGHIDEventTap, mouseEvent); 
CFRelease(mouseEvent);