Comment utiliser les touches programmables avec une application basée sur CDialog dans Windows Mobile 6 via MFC?

StackOverflow https://stackoverflow.com/questions/105731

  •  01-07-2019
  •  | 
  •  

Question

Comment utiliser les touches programmables avec une application CDialog dans Windows Mobile 6 via MFC?

J'ai une application professionnelle Windows Mobile 6 (écran tactile) basée sur CDialog sur laquelle je travaille.

Le comportement par défaut d'une application basée sur CDialog dans WM6 Professional est de ne pas utiliser de touche programmable par défaut ... Je souhaite mapper les touches programmables sur "Annuler". et " OK " fonctionnalité qui envoie IDOK et IDCANCEL à ma classe de dialogue principal.

J'ai essayé de travailler avec CCommandBar sans succès, et SHCreateMenuBar ne fonctionnait pas pour moi non plus.

Quelqu'un at-il un exemple de la façon de le faire fonctionner?

Était-ce utile?

La solution

Qu'est-ce qui ne fonctionne pas " avec le CCommandBar pour vous? Vous devriez pouvoir ajouter un membre CCommandBar à votre classe de dialogue, puis dans InitDialog de DIalog, vous appelez Create and InsertMenuBar dans la barre de commande - quelque chose comme ceci:

m_cmdBar.Create(this);
m_cmdBar.InsertMenuBar(IDR_MENU_RESRC_ID);

Votre ressource de menu peut ressembler à ceci:

IDR_MENU_RESRC_ID MENU DISCARDABLE
BEGIN
MENUITEM "OK", IDOK
MENUITEM "Cancel", IDCANCEL
END

Autres conseils

merci beaucoup ... je devenais fou avec ça ...

votre code a fonctionné exactement comme prévu ...

Au début, je l'utilisais et obtenais les mêmes résultats. La zone des touches programmables était vide, à l'exception du bouton de saisie SIP.

Après environ une heure de débogage, j'ai essayé de mettre ces 2 lignes de code à la fin de mon OnInitDIalog () et cela a fonctionné:)

Mon problème est que, dans mon OnIitDialog (), je crée des dialogues enfants. lorsque je mets la commande CCommandBar.InsertMenuBar () avant de créer des dialogues enfants, je ne reçois pas le message "ok". ou " Annuler " touches programmables, lorsque je mets cette ligne après la création de dialogues enfants, les touches programmables s'affichent comme prévu et fonctionnent parfaitement.

Merci encore

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top