Changer la configuration des touches du pavé numérique

Signaler
Messages postés
68
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
14 septembre 2007
-
Messages postés
68
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
14 septembre 2007
-
Y a-t-il un moyen de changer le code ascii renvoyé par le touche '-' du pavé num pour que ce soit le mm que celui de la touche 'retour'?(soit dans le code, soit dans la config de windows...)
J'ai déjà demandé de l'aide à ce sujet mais je ne suis pas arrivé à faire ce que je voulais...
Merci à qui voudra m'aider.

6 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Dans quelle situation PRECIS, svp ???
- Toute la machine -> hook dans DLL.
- Sur un EDIT de saisie -> sous classement du EDIT.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
68
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
14 septembre 2007

Oui c'est un EDIT de saisie mais mm avec les sources que tu propose sur le site, je n'ai pas compris cette histoire de sous classement du EDIT.
Peux tu m'apporter plus d'info par rapport à ça please?
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Bon une seconde, je refais exemple.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
68
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
14 septembre 2007

Merci c'est sympa
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Fais un dialogbox IDD_APP avec juste un edit IDED_TEST
Mets cela dans le cpp et ça roule.

#include <windows.h>
#include "resource.h"

WNDPROC oldProc; // PROCEDURE ORIGINE

// ICI FONCTION DE SOUS CLASSEMENT
LRESULT CALLBACK EdProc(HWND hwnd, UINT mssg, WPARAM wParam, LPARAM lParam)
{ if(mssg WM_CHAR) if(wParam '-') wParam = 8;
return CallWindowProc(oldProc, hwnd, mssg, wParam, lParam);
}

BOOL CALLBACK AppDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam)
{
switch(mssg) {
case WM_INITDIALOG:
SetClassLong(hdlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION));
// ICI SOUS CLASSEMENT DU EDIT
oldProc = (WNDPROC) SetWindowLong(GetDlgItem(hdlg, IDED_TEST), GWL_WNDPROC, (long) EdProc);
return 1;
case WM_COMMAND:
if(wParam == IDCANCEL) EndDialog(hdlg, 0);
}
return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE x, PSTR y, int z)
{
DialogBoxParam(hInstance, (LPCTSTR)IDD_APP, 0, AppDlgProc, 0);
return 0;
}

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
68
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
14 septembre 2007

Genial!
ça marche bien merci!