2009-10-23 3 views
0

J'ai un programme OLD mac C/C++ que je maintiens. Il est toujours basé sur les fichiers rsrc et les appels système OS 9. (Oui, oui, je sais, j'essaie de faire glisser mon entreprise dans le 21ème siècle, mais l'autre ingénieur utilise toujours OSX10.3.9 s'il vous plaît pitié moi)Fonctionnalité de MenuKey sous OSX 10.5 et 10.6?

J'essaye d'obtenir la fonctionnalité de raccourci de modificateur. Cmd-S fonctionne, par exemple. Cependant, Opt-Cmd-S clignote le menu "Fichier", mais ne fait rien, SAUF si le menu fichier est déjà ouvert. J'ai parcouru mon code et j'ai découvert que je prenais le message d'événement et que je le transmettais à MenuKey pour me dire quelle option de menu le combo de touches représente. Cependant, MenuKey renvoie toujours 0 s'il y a plus d'un modificateur enfoncé.

Je vois dans la documentation sur la pomme que cela a été abandonné, mais je préfère ne pas avoir à réécrire tout le programme pour passer aux nibs et ainsi de suite.

Alors, quelqu'un a-t-il un travail rapide et sale?

merci.

Répondre

1

Eh bien, presque tous les de l'interface utilisateur de carbone a été obsolète (bien que MenuKey est plus obsolète que certains autres bits). Cela ne veut pas dire qu'il n'est pas encore supporté, mais vous devriez faire du nouveau développement avec Cocoa (même la version sur 10.3.9 est une énorme amélioration par rapport à ce que vous faites).

Si vous n'avez pas l'habitude de travailler avec Carbon, assurez-vous de lire les fichiers d'en-tête; il y a beaucoup de documentation et d'astuces utiles qui ne se trouvent nulle part ailleurs. Vous devriez utiliser MenuEvent au lieu de MenuKey; MenuKey ne prend pas en charge les modificateurs autres que la clé de commande.

+0

Je n'arrive pas à trouver de documentation sur MenuEvent sur le site mac. (ou ce qu'il y a, c'est tout Java plutôt ...) Peux-tu me pointer vers des docs C? Merci. –

+0

http://developer.apple.com/legacy/mac/library/documentation/Carbon/Reference/Menu_Manager/Reference/reference.html#//apple_ref/doc/uid/TP30000227-CH1g-F03900 –

+0

Excellent! Merci. Aussi, en particulier merci pour le pointeur vers les docs hérités! –

Questions connexes