Funzionalità MenuKey in OSX 10.5 e 10.6?
Domanda
Ho un vecchio programma C / C ++ mac che sto mantenendo. È ancora basato su file rsrc e chiamate di sistema OS 9. (Sì, sì, lo so. Sto provando a trascinare la mia azienda nel 21 ° secolo, ma l'altro ingegnere sta ancora usando OSX10.3.9! Per favore, abbi pietà di me)
Sto cercando di ottenere la funzionalità di scelta rapida del modificatore. Cmd-S funziona, ad esempio. Tuttavia, Opt-Cmd-S fa lampeggiare il " File " menu, ma non fa nulla, A MENO CHE il menu file non sia già aperto.
Ho controllato il mio codice e ho scoperto che sto prendendo il messaggio dell'evento e lo sto passando a MenuKey per dirmi quale opzione di menu rappresenta la combinazione di tasti. Tuttavia, MenuKey restituisce sempre 0 se viene premuto più di un modificatore.
Vedo dalla documentazione di Apple che questo è stato deprecato, ma preferirei non dover riscrivere l'intero programma solo per passare ai pennini e così via.
Quindi, qualcuno ha un lavoro veloce e sporco in giro?
Grazie.
Soluzione
Bene, quasi tutto dell'interfaccia utente di Carbonio è stato deprecato (sebbene MenuKey sia più deprecato di alcuni altri bit). Questo non vuol dire che non è ancora supportato, ma dovresti fare qualsiasi nuovo sviluppo con Cocoa (anche la versione 10.3.9 è un grande miglioramento rispetto a quello che stai facendo).
Se non sei abituato a lavorare con Carbon, assicurati di leggere i file di intestazione; c'è un sacco di documentazione e suggerimenti utili che non sono altrove. È necessario utilizzare MenuEvent anziché MenuKey; MenuKey non supporta modificatori diversi dal tasto Comando.