Aide - Recherche - Membres - Calendrier
Version complète : [RESOLU] Afficher le menu...
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
Fredouille.95
Bonsoir,

Encore et toujours pour mon émulateur, je cherche à afficher le menu par le programme.

En parcourant relativement rapidement la référence API et le forum, je n'ai rien trouvé.
J'ai déjà essayé de créer un événement "menuOpenEvent" mais cela semble ne pas fontionner.

Bref, avez-vous une idée lumineuse ?

Rappel : Je développe sous PODS ou Garnet OS Developer Suite aujourd'hui...

Merci d'avance anim_wink.gif
snark
keyDownEvent avec vchrMenu (0x0105) comme paramètre ?
Fredouille.95
Merci snark...
Bon j'ai essayé le code suivant qui ne marche pas !!

"...
newEvent.eType = keyDownEvent;
newEvent.data.keyDown.chr = vchrMenu;
EvtAddEventToQueue(&newEvent);
..."

Mais je pense que ton idée est la bonne. T'es un amour snark anim_wink.gif

Qui persévère, n'ira pas à la pêche...
Patrice
Tu as (évidemment) pensé à l'appel de MenuHandleEvent() dans ta boucle d'événements ?

Tu devrais aussi définir le 'modifier' -> commandKeyMask (et positionner le keyCode à 0 pour être propre).
Fredouille.95
Hmmm... Surement sourire.gif

Cependant, avec juste une petite correction que voici , cela fonctionne

"...
newEvent.eType = keyDownEvent;
newEvent.data.keyDown.chr = vchrMenu;
newEvent.data.keyDown.modifiers = commandKeyMask;
EvtAddEventToQueue(&newEvent);
..."

Il suffisait siffle.gif de lire dans le fichier "Chars.h"

"...
// The following are key codes used for virtual events, like
// low battery warnings, etc. These keyboard events MUST
// have the commandKeyMask bit set in the modifiers in order
// to be recognized.
#define vchrLowBattery 0x0101 // Display low battery dialog
#define vchrEnterDebugger 0x0102 // Enter Debugger
#define vchrNextField 0x0103 // Go to next field in form
#define vchrStartConsole 0x0104 // Startup console task
#define vchrMenu 0x0105 // Ctl-A
..."

Merci beaucoup
Je pense que j'aurais cherché longtemps avant de trouver aussi simple icon_bla.gif

Edit:
Dans la référence des API, le keyCode est indiqué comme "unused". Pourquoi le mettre explicitement à 0 ?
Patrice
CITATION(Fredouille.95 @ 08/11/2007 à 22:18 ) *
Dans la référence des API, le keyCode est indiqué comme "unused". Pourquoi le mettre explicitement à 0 ?

A minima parce que le jour où il sera(it) utilisé, tu limitera(i)s les risques de comportement imprévu.
Fredouille.95
CITATION(Patrice @ 08/11/2007 à 21:27 ) *
A minima parce que le jour où il sera(it) utilisé, tu limitera(i)s les risques de comportement imprévu.


Même si je ne suis pas vraiment convaincu (pourquoi 0 ne sera(it)-il pas néfaste ??), je veux bien rajouter cette ligne quand même anim_wink.gif

Merci Patrice et snark anim_wink.gif
snark
Si tu ne le mets pas à zéro, sa valeur sera aléatoire. Si un jour une autre valeur est définie et utilisée, et que par hasard le nombre aléatoire généré par l'absence d'initialisation correspond à cette nouvelle valeur, le comportement pourrait être autre que celui espéré.
Patrice
En plus de la raison donnée par Snark, c'est un usage très répandu pour les fournisseurs d'API de considérer qu'une valeur 0 correspond à une option "historique".

De toutes manières, je ne dis pas que c'est une obligation, je te dis simplement que c'est un bonne pratique de ne pas laisser des données non affectées...
Fredouille.95
OK, ça me va siffle.gif anim_wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.