hellbilly free smile | Cool Coyote a écrit a écrit :
Salut!
La question est dans le titre mais je vais apporter kkes précisions.
Actuellement ce que j'écris dans mon edit (1 seule ligne), je peux le valider par un bouton. Je désire supprimer ce bouton et valider plutôt par la touche "entrée", mais je n'ai rien trouvé de concluant.
Si quelqu'un a une piste, ce serait top.
PS : pas de MFC ici, c'est tout en API
Thx !!
|
Il faut que tu modifies les propriétés de ton edit grâce à la fonction SetWindowLong.
Code :
- WNDPROC oldProc = (WNDPROC)SetWindowLong(GetDlgItem(hwnd, IDC_EDIT), GWL_WNDPROC, (LONG)editProc);
|
A chaque fois que ton edit recoit un message la fonction editProc va être appelée et t'as plus qu'a gérer la touche entrée. oldProc est l'ancienne fonction qui était associée à ton edit.
Code :
- LRESULT CALLBACK editProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
- {
- int id = GetDlgCtrlID(hwnd);
- if (IDC_EDIT == id)
- {
- switch (message)
- {
- case WM_KEYDOWN :
- if (wParam == VkKeyScan(0x0D))
- {
- // Gestion de la touche entrée.
- }
- break;
- }
- }
- return CallWindowProc(oldProc, hwnd, message, wParam, lParam);
- }
|
|