Функциональность MenuKey в OSX 10.5 и 10.6? - PullRequest
0 голосов
/ 23 октября 2009

У меня есть программа OLD mac C / C ++, которую я поддерживаю. Он по-прежнему основан на файлах rsrc и системных вызовах OS 9. (Да, да, я знаю. Я пытаюсь перетащить свою компанию в 21-й век, но другой инженер все еще использует OSX10.3.9! Пожалуйста, пожалейте меня)

Я пытаюсь получить функциональность ярлыка модификатора. Cmd-S работает, например. Тем не менее, Opt-Cmd-S мигает меню «Файл», но ничего не делает, если меню файлов уже открыто.

Я просмотрел свой код и обнаружил, что беру сообщение о событии и передаю его MenuKey, чтобы сообщить мне, какую опцию меню представляет комбинация клавиш. Однако MenuKey всегда возвращает 0, если нажата более одного модификатора.

Я вижу из документации Apple, что это устарело, но я бы предпочел не переписывать всю программу, а только переходить на перья и так далее.

Так, у кого-нибудь есть быстрая и грязная работа вокруг?

спасибо.

1 Ответ

1 голос
/ 23 октября 2009

Ну, почти все интерфейса Carbon устарели (хотя MenuKey более устарела, чем некоторые другие биты). Это не значит, что он по-прежнему не поддерживается, но вместо этого вам следует заняться любой новой разработкой с помощью Cocoa (даже версия на 10.3.9 значительно превосходит ваши действия).

Если вы не привыкли работать с Carbon, обязательно прочитайте файлы заголовков; там много документации и полезных советов, которых нет больше нигде. Вы должны использовать MenuEvent вместо MenuKey; MenuKey не поддерживает модификаторы, кроме клавиши Command.

...