UnregisterEventHotKey

02:16 modifié dans Actualités #1
Hi !

J'utilise RegisterEventHotKey (Carbon) pour enregistrer un raccourci clavier.
Je me suis basé sur un exemple, donc pour initializé ce raccourci je n'ai pas eu de mal à  comprendre.
En revanche, ce que j'ai du mal à  comprendre c'est la Doc carbon. En fait je comprend les trucs comme ça :


OSStatus UnregisterEventHotKey (
  EventHotKeyRef inHotKey
);


Pour enregistrer mon raccourci j'ai fait ça :

<br />EventHotKeyRef gMyHotKeyRef;<br />EventHotKeyID gMyHotKeyID;<br />EventTypeSpec eventType;<br />eventType.eventClass=kEventClassKeyboard;<br />eventType.eventKind=kEventHotKeyPressed;<br />	<br />InstallApplicationEventHandler(&amp;MyHotKeyHandler,1,&amp;eventType,NULL,NULL);<br />	<br />gMyHotKeyID.signature=&#39;htk1&#39;;<br />gMyHotKeyID.id=1;<br />RegisterEventHotKey([prefs integerForKey:SHORCUT], 0, gMyHotKeyID,<br />			GetApplicationEventTarget(), 0, &amp;gMyHotKeyRef);<br />


Ce que je comprend pas c'est par exemple : EventHotKeyRef gMyHotKeyRef;
Avec cocoa ça aurait été NSEventHotKeyRef gMyHotKeyRef = [NSEventHotKeyRef.....] un truc du genre... Mais là  je cale...

Quelqu'un pourrait m'éclaircir ?

Réponses

  • schlumschlum Membre
    02:16 modifié #2
    dans 1182766123:

    Ce que je comprend pas c'est par exemple : EventHotKeyRef gMyHotKeyRef;
    Avec cocoa ça aurait été NSEventHotKeyRef gMyHotKeyRef = [NSEventHotKeyRef.....] un truc du genre... Mais là  je cale...


    Non... Ca aurait été :
    NSEventHotKey *gMyHotKey = [[NSEventHotKey alloc] init];
    Mais tu ne peux pas comparer du Carbon et du Cocoa ; il n'y a pas de classes en Carbon, c'est du C !
  • 02:16 modifié #3
    dans 1182766627:

    dans 1182766123:

    Ce que je comprend pas c'est par exemple : EventHotKeyRef gMyHotKeyRef;
    Avec cocoa ça aurait été NSEventHotKeyRef gMyHotKeyRef = [NSEventHotKeyRef.....] un truc du genre... Mais là  je cale...


    Non... Ca aurait été :
    NSEventHotKey *gMyHotKey = [[NSEventHotKey alloc] init];
    Mais tu ne peux pas comparer du Carbon et du Cocoa ; il n'y a pas de classes en Carbon, c'est du C !


    Vi je sais, c'est pour ça que 'jaimerai qu'on m'explique un peu comment fonctionne le C en fait :D parce que là  je comprend pas ce que je dois faire pour UnregisterEventHotKey
  • schlumschlum Membre
    02:16 modifié #4
    UnregisterEventHotKey(gMyHotKeyRef);

    Mais il manque tous les tests d'erreur dans ton code...
  • elfelf Membre
    02:16 modifié #5
    J'adore Carbon, c'est tellement exentrique...

    Faut piger le mechanisme, mais après c'est cool, surtout que les Refs de types Cocoa standarts (array, string, number etc.) sont interchangable avec leur equivalent CoreFundation.

    En gros ce que tu dois comprendre c'est que les fonctions Carbon ne retourne jamais leur valeur de retour, mais ils la met dans l'adresse mémoire fourni en argument à  la fin des arguments.
Connectez-vous ou Inscrivez-vous pour répondre.