begin process at 2012 05 29 06:36:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Evènement clavier sous VC++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Evènement clavier sous VC++

vendredi 4 avril 2003 à 14:33:23 | Evènement clavier sous VC++

curator68

Curator68

J'ai besoin d'aide en ce qui concerne les évènements clavier WM_KEYUP, WM_KEYDOWN et WM_CHAR.
j'arrive pas à intercepter ces évènements dans une boîte de dialogue modale.

merci d'avance.
vendredi 4 avril 2003 à 14:41:25 | Re : Evènement clavier sous VC++

BruNews

Administrateur CodeS-SourceS
Une dialogbox a un comportement particulier. Pour intercepter events clavier, soit tu sous classes les controles de dialogbox, soit tu installes un SetWindowsHookEx() dans WM_INITDIALOG et bien l'enlever quand boite se detruit.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Curator68
>
> J'ai besoin d'aide en ce qui concerne les évènements clavier WM_KEYUP, WM_KEYDOWN et WM_CHAR.
> j'arrive pas à intercepter ces évènements dans une boîte de dialogue modale.
>
> merci d'avance.
vendredi 4 avril 2003 à 14:48:05 | Re : Précision sur SetWindowsHookEx() svp

curator68


Curator68
Ce serai possible possible d'avoir des précisions sur l'utilisation de SetWindowsHookEx()??? Je suis en cours entrain de bosser pour mon projet d'examen, et ça fait 3 jours que je cherche pour ces satanés évènements clavier.

thx

-------------------------------
Réponse au message :
-------------------------------

> Une dialogbox a un comportement particulier. Pour intercepter events clavier, soit tu sous classes les controles de dialogbox, soit tu installes un SetWindowsHookEx() dans WM_INITDIALOG et bien l'enlever quand boite se detruit.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Curator68
> >
> > J'ai besoin d'aide en ce qui concerne les évènements clavier WM_KEYUP, WM_KEYDOWN et WM_CHAR.
> > j'arrive pas à intercepter ces évènements dans une boîte de dialogue modale.
> >
> > merci d'avance.
>
vendredi 4 avril 2003 à 14:52:20 | Re : Evènement clavier sous VC++

curator68


Curator68
Ce serai possible d'avoir des précisions sur SetWindowsHookEx().
thx

-------------------------------
Réponse au message :
-------------------------------

> Une dialogbox a un comportement particulier. Pour intercepter events clavier, soit tu sous classes les controles de dialogbox, soit tu installes un SetWindowsHookEx() dans WM_INITDIALOG et bien l'enlever quand boite se detruit.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Curator68
> >
> > J'ai besoin d'aide en ce qui concerne les évènements clavier WM_KEYUP, WM_KEYDOWN et WM_CHAR.
> > j'arrive pas à intercepter ces évènements dans une boîte de dialogue modale.
> >
> > merci d'avance.
>
vendredi 4 avril 2003 à 14:59:38 | Re : Précision sur SetWindowsHookEx() svp

BruNews

Administrateur CodeS-SourceS
SetWindowsHookEx(), tu passes WH_KEYBOARD. Il faut lire msdn, trop vaste sujet pour explication forum. Tu dois fournir une proc de callback.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

>
> Curator68
> Ce serai possible possible d'avoir des précisions sur l'utilisation de SetWindowsHookEx()??? Je suis en cours entrain de bosser pour mon projet d'examen, et ça fait 3 jours que je cherche pour ces satanés évènements clavier.
>
> thx
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Une dialogbox a un comportement particulier. Pour intercepter events clavier, soit tu sous classes les controles de dialogbox, soit tu installes un SetWindowsHookEx() dans WM_INITDIALOG et bien l'enlever quand boite se detruit.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Curator68
> > >
> > > J'ai besoin d'aide en ce qui concerne les évènements clavier WM_KEYUP, WM_KEYDOWN et WM_CHAR.
> > > j'arrive pas à intercepter ces évènements dans une boîte de dialogue modale.
> > >
> > > merci d'avance.
> >
>
vendredi 4 avril 2003 à 15:10:18 | Re : Evènement clavier sous VC++

BruNews

Administrateur CodeS-SourceS
Je te mets un exemple intercepte messages souris pour tooltips sur dialogbox, tu adapteras.
Et en sortie: UnhookWindowsHookEx(g_hhk);

LRESULT CALLBACK GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
MSG *lpmsg;
lpmsg = (MSG *) lParam;
if(nCode < 0 || !(IsChild(g_hwndDlg, lpmsg->hwnd)))
return (CallNextHookEx(g_hhk, nCode, wParam, lParam));
switch (lpmsg->message) {
case WM_MOUSEMOVE:
case WM_LBUTTONDOWN:
case WM_LBUTTONUP:
case WM_RBUTTONDOWN:
case WM_RBUTTONUP:
if(g_hwndTT != NULL) {
MSG msg;
msg.lParam = lpmsg->lParam; msg.wParam = lpmsg->wParam;
msg.message = lpmsg->message; msg.hwnd = lpmsg->hwnd;
SendMessage(g_hwndTT, TTM_RELAYEVENT, 0, (LPARAM) (LPMSG) &msg);
}
break;
default: break;
}
return (CallNextHookEx(g_hhk, nCode, wParam, lParam));
}

BOOL CALLBACK EnumChildProc(HWND hwndCtrl, LPARAM lParam)
{
TOOLINFO ti;
char szClass[64];
GetClassName(hwndCtrl, szClass, sizeof(szClass));
if(lstrcmpi(szClass, "STATIC")) { // Skip static controls.
ti.cbSize = sizeof(TOOLINFO);
ti.uFlags = TTF_IDISHWND; ti.hwnd = g_hwndDlg;
ti.uId = (UINT) hwndCtrl; ti.hinst = 0;
ti.lpszText = LPSTR_TEXTCALLBACK;
SendMessage(g_hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti);
}
return TRUE;
}

ICI est appele par WM_INITDIALOG
BOOL DoCreateDialogTooltip()
{
g_hwndTT = CreateWindowEx(0, TOOLTIPS_CLASS, (LPSTR) NULL,
TTS_ALWAYSTIP, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, g_hwndDlg, (HMENU) NULL, m_hinst, NULL);
if(g_hwndTT == NULL) return FALSE;
if(!EnumChildWindows(g_hwndDlg, (WNDENUMPROC) EnumChildProc, 0)) return FALSE;
g_hhk = SetWindowsHookEx(WH_GETMESSAGE, GetMsgProc, (HINSTANCE) NULL, GetCurrentThreadId());
if(g_hhk == (HHOOK) NULL) return FALSE;
return TRUE;
}

BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

>
> Curator68
> Ce serai possible d'avoir des précisions sur SetWindowsHookEx().
> thx
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Une dialogbox a un comportement particulier. Pour intercepter events clavier, soit tu sous classes les controles de dialogbox, soit tu installes un SetWindowsHookEx() dans WM_INITDIALOG et bien l'enlever quand boite se detruit.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Curator68
> > >
> > > J'ai besoin d'aide en ce qui concerne les évènements clavier WM_KEYUP, WM_KEYDOWN et WM_CHAR.
> > > j'arrive pas à intercepter ces évènements dans une boîte de dialogue modale.
> > >
> > > merci d'avance.
> >
>
mercredi 14 avril 2004 à 13:07:00 | Re : Evènement clavier sous VC++


Cette discussion est classée dans : vc, wm, clavier, évènements, evènement


Répondre à ce message

Sujets en rapport avec ce message

PostThreadMessage / GetMessage : perte de messages [ par swonder ] Bonjour,J'ai un problème de perte de messages dans la communication inter-thread, que je suppose dû au fait que GetMessage n'a pas de file d'attente d detection touches de clavier [ par CoyoteVsBeepBeep ] Hello,j'ai un soucis pour capter l'appui d'un touche dans une classe CDialog.je crée une boite de dialogue dial.DoModal();et j'ai beau ajouter les mes Re : WM_KEYDOWN interception touche clavier [ par gregory6 ] GringoBonjour, Je débute sous visual C++ et j'ai un petit problème sur les interceptions de touches au clavier. J'aimerai récupérer les touches du cla VC++ Raccourcis Clavier [ par wanny ] Salut à tous.Dans une application en VC++ 6.0, j'ai défini un certain nombre de raccourcis clavier par l'interface dédiée.Cependant, dans un certain m Boite de dialogue [ par qa1du ] Une petite question. J'ai cree une boite de dialogue, avce un CreateDialog. Mon pb c qu'elle ne reagit pas aux messge WM_CHAR, WM_KEYDOWN (tout ce qui Utilisation du clavier avec QT 3.2.1 et VC++ [ par jlbrd ] J'ai installer la version d'évaluation de QT 3.2.1 pour Windows. Lorsque j'utilise les applis fournies: designer, assistant ou que je compile un progr Interception et modification d'évènements clavier [ par Hector78 ] Hello ! Je suis à la recherche d'une méthode simple pour intercepter des évènements clavier et les modifier. J'ai trouvé plusieurs code de type Hook, Naviguer entre deux Form vc++ [ par waiwa ] Dans mon programme en vc++, j'ai un bouton Connecter sur le formulaire principal d'authentification a l'id (IDC_BUTTONCONNECTER) ouvre un autre formul Arret d ecriture au clavier (stdin) pour stocker dans un fichier [ par omarino_007 ] Bonsoir a tous, je suis sur un projet en C pis je lis au clavier ce que rentre l'utilisateur le probleme C que C une chaine de caractere a taille in Recherche librairie jpeg.lib pour vc++ 2008 [ par Albanderuaz ] Bonsoir, Je recherche la librairie jpeg.lib, j'en dispose d'une qui fonctionne mais qui me met une erreur de link comme quoi libc.lib est introuvable


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales