NChar et l'evenement de clavier

Résolu
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009 - 30 oct. 2006 à 22:14
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009 - 4 nov. 2006 à 01:31
salut
Sous MFC
void CAboutDlg::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
switch(nChar)
{
case VK_UP:
MessageBox("sniff sniff","rien 2",MB_OK);
break;
case VK_DELETE:
MessageBox("sniff sniff","rien 2",MB_OK);
  break;
default:
MessageBox("sniff sniff","default aussi ne marche pas :(",MB_OK);
}
}

le code ne marche pas :( quesque je vais faire .

a l'aide et merci avance

18 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
3 nov. 2006 à 21:01
Salut:

Etapes à suivre :
1. Créer votre boite de dialogue à l'aide de l'éditeur de ressources.
2. Clic droit
3. Choisir Class Wizard
4. Choisir l'option créer nouvelle classe pour cette boîte de dialogue.

5. Dans la partie du code où tu vas utiliser cette classe supposons qu'elle s'apelles "CMyDlg"

// N'oublie pas cette inclusion
// elle te permet d'utliser ta classe.
#include "MyDlg.h"
// ...
CMyDlg * dlg =  new CMyDlg;
dlg->DoModal ();
// ...
delete dlg;
//...

Bonne chance ...
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
31 oct. 2006 à 00:36
Salut :

CAboutDialog -----> boîte de dialogue "A propos ..." ???

si oui, Je pense que ton code ne marche que si la boîte de dialogue "A propos ..." est visible et à le focus de clavier.
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
31 oct. 2006 à 14:50
non , marche pas j'ai creer une nouvelle application et j'ai fais des tests mais aucun resultat :( ; il marche plus celle la .
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
1 nov. 2006 à 13:11
c'est bon j'ai trouver la solution , dit donc si ma fenetre n'est pas dans le focus comment va il savoir si mon racourcis et faite ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
1 nov. 2006 à 18:38
Salut:

Que ce que tu veux faire? (je n'ai pas compris ce que tu veux)

 
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
2 nov. 2006 à 00:04
premierement merci de votre reponce
2-voila ce que je veux faire
quand je click sur "z+i" ma fenetre principal va disparetre, et quand je click sur "z+v" mon application va apparaitre .
mais quand la fenetre principal et hors focus alors les boutons ne fonction plus :(
, a ton avis quesque je dois faire , et merci encore
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
2 nov. 2006 à 01:56
Salut:

Utilises :

SetForegroundWindow (hWnd);
SetFocus (hWnd);

Pour mettre votre fenêtre en premier plan (plus prioritaire) et pour le donner le focus de clavier.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
2 nov. 2006 à 01:58
Salut:

Pour MFC utilises :

AfxGetMainWnd ()->SetForeground ();
AfxGetMainWnd ()->SetFocus ();
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
2 nov. 2006 à 04:07
1-marche pas , essai de creer une nouvelle application MFC de type Dialog Based puis executer le programme tu va voir que le focus est toujours dans le bouton ok :(

2- si ma fenetre est hors focus et que je fais quelque navigation internet puis je veux voir mon programme avec mon raccourcis "z+i" comment cela peut fais , la fenetre est hors focus plus il est invisible ???
DSL pour le drangement

et merci pour votre aide
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
2 nov. 2006 à 08:37
Salut:

Si j'ai bien compris: tu veux gérer l'appui sut deux touches simultanément.

1. pour mettre votre fenetre en premier plan, LA SEULE SOLUTION EST D'UTILISER LA TOUCHE ALT + TAB

2. sur cppfrance, il pas mal d'exemple qui montrent comment gérer l'appui sur deux touches en même temps.
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
2 nov. 2006 à 14:23
merci bcp , je vais chercher et si j'ai rien trouver je vais requestionné ici , merci encore et dsl pour le derangement

?? ???? ??? ????
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
2 nov. 2006 à 15:21
Salut:

Absolument pas. Il n'y aucun dérangement.
Bonne chance ...
_____________________________________________________
A.B. : toutes choses sont difficiles avant d'être simples.
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
3 nov. 2006 à 03:43
je suis encore blocké sur quelque chose :(
je voudrai ajouter une 2eme fenetre a mon projet , alors j'ai fais inserer->new form.
mais comment je vais l'apparaitre(la selectionné) quand je vais click dans une bouton ??? , dans visual basic c'est mafenetre.Show mais dans MFC ???? aucun aidé , dsl pour ce genre des questions mais je ne suis qu'un debutant dans MFC alors... DSL
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
3 nov. 2006 à 07:07
Salut:

Créer une classe MFC qui se base sur une boîte de dialogue.

Appeler la méthode DoModal () sur une instance de cette classe.

Tu vas avoit ta fenêtre.
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
3 nov. 2006 à 12:34
--------------------Configuration: Ma_Fenetre - Win32 Debug--------------------
Compiling...
Ma_FenetreDlg.cpp
C:\Program Files\Microsoft Visual Studio\MyProjects\Ma_Fenetre\Ma_FenetreDlg.cpp(176) : error C2065: 'My_Class_Form2' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\Ma_Fenetre\Ma_FenetreDlg.cpp(176) : error C2146: syntax error : missing ';' before identifier 'variable'
C:\Program Files\Microsoft Visual Studio\MyProjects\Ma_Fenetre\Ma_FenetreDlg.cpp(176) : error C2065: 'variable' : undeclared identifier
C:\Program Files\Microsoft Visual Studio\MyProjects\Ma_Fenetre\Ma_FenetreDlg.cpp(177) : error C2228: left of '.DoModal' must have class/struct/union type
Error executing cl.exe.

Ma_FenetreDlg.obj - 4 error(s), 0 warning(s)

---------------
j'ai fais inserer -> newClass et pour le type c'est ClassForm
mais ca marche pas toujour le meme erreur :(
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
3 nov. 2006 à 22:36
DSL beaucoup pour tt les derangement que j'ai fais a toi et merci bcp bcp bcp a marche.
merciiiiiiiiiiii :D
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
3 nov. 2006 à 23:46
Salut:

Est ce que ça marcher?

Cordialement ...
0
unionx Messages postés 190 Date d'inscription dimanche 17 avril 2005 Statut Membre Dernière intervention 18 mars 2009
4 nov. 2006 à 01:31
oui frere ca marche , merci beaucoup
0
Rejoignez-nous