Accueil > Forum > > > > Touche Tab inopérationelle
Touche Tab inopérationelle
mardi 5 septembre 2006 à 03:35:23 |
Touche Tab inopérationelle

Ziman
|
Bonjour, depuis que je programme avec l'API WIN32 en C, j'ai remarqué, que la touche tab de mes programmes ne fonctionne pas. Par exemple, je suis dans un Edit, je veux passer dans un autre, j'appuie sur Tab, j'entend juste un son et le focus reste sur le meme edit. Un autre problème un peu lié est le fait que bien que j'ajoute le style BS_DEFPUSHBUTTON a un de mes button, j'ai beau appuyé sur Entrée, rien ne se passe. Comment cela se fait-il ? Merci d'avances pour vos réponses. Apprendre le VB6
|
|
mardi 5 septembre 2006 à 05:45:05 |
Re : Touche Tab inopérationelle

racpp
|
Salut, Je suppose que tu utilises une boite de dialogue. Dans ce cas c'est simple, il suffit de donner à chaque controle le style WS_TABSTOP. Pour le style BS_DEFPUSHBUTTON, j'avais rencontré ce problème il y'a longtemps déjà. Il parait qu'il ne sert à rien de l'ajouter. En effet, malgré ce style, la boite de dialogue ne le reconnait pas. Il suffit donc de le lui signaler avec le message DM_SETDEFID. Ce message permet de changer l'identificateur du controle par défaut agissant à la pression de la touche ENTREE. Voici un petit exemple: HWND hBouton; hBouton=CreateWindowEx(0, "Button", "Ok", WS_VISIBLE | WS_CHILD | WS_TABSTOP , 20, 20, 60, 20, hDlg, (HMENU)1000, 0, 0); SendMessage(hDlg, DM_SETDEFID ,1000,0);
Notre bouton à comme identificateur 1000. C'est ce dernier qui sera envoyé à notre boite de dialogue via le message DM_SETDEFID. A noter que je n'ai pas mis le style BS_DEFPUSHBUTTON pendant la création du bouton car c'est inutile.
|
|
mardi 5 septembre 2006 à 15:59:04 |
Re : Touche Tab inopérationelle

Ziman
|
Salut, il ne s'agit pas d'une DialogBox, il s'agit d'une fenetre principale. J'ai quand meme essayé ce que tu m'as dit pour la touche tab mais cela ne fonctionne pas. Ensuite pour le bouton, j'ai mis le message, il l'encadre de la bordure noire pour montrer qu'il est par défaut celui qui s'enfoncera à la pression de la touche Entrée, mais rien ne se passe quand j'appuye sur entré alors que l'Edit a le focus ... J'entend un son système (un chti doooooong) mais rien d'autre ... Apprendre le VB6
|
|
mardi 5 septembre 2006 à 17:19:21 |
Re : Touche Tab inopérationelle

racpp
|
Bonjour, Dans ce cas il suffit de modifier la boucle des messages dans ta winmain pour qu'elle ressemble à ceci: MSG msg; while (GetMessage(&msg, 0, 0, 0) ) { if (!IsDialogMessage(hwnd, &msg) ) { TranslateMessage(&msg); DispatchMessage(&msg); } } Ceci permet le fonctionnement des tabulations dans une fenêtre mais ne résoud pas le problème du bouton par défaut. Personnellement je n'ai jamais eu besoin d'utiliser un tel bouton dans mes fenêtres. Si je trouve une solution pour ce cas spécial, je te la montrerai.
|
|
mardi 5 septembre 2006 à 17:53:24 |
Re : Touche Tab inopérationelle

racpp
|
Réponse acceptée !
Pour le bouton par défaut, je viens de trouver une solution très simple. Le bouton doit avoir le style BS_DEFPUSHBUTTON et avoir IDOK comme identificateur. La boucle des messages modifiée comme précisé plus haut est indispensable: hBouton=CreateWindowEx(0, "Button", "Ok", WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON | WS_TABSTOP , 20, 20, 60, 20, hDlg, (HMENU)IDOK, 0, 0); Je viens de faire des tests, ça marche nickel.
|
|
mercredi 6 septembre 2006 à 01:19:36 |
Re : Touche Tab inopérationelle

Ziman
|
Ah voilà, ca fonctionne maintenant, je me suis un peu renseigné sur msdn sur IsDialogMessage que tu m'as indiqué et j'ai compris pourquoi tu fais cela. Merci beaucoup de ton aide :p Apprendre le VB6
|
|
Cette discussion est classée dans : edit, tab, touche, inopérationelle
Répondre à ce message
Sujets en rapport avec ce message
probleme avec la fonction GetAsyncKeyState() [ par aardman ]
Bonjours,Je débute dans le c, et j'ai un petit probleme avec cette fonction.Je n'arrive pas a la faire fonctionner avec un int comme argument. Par exe
Win32 simulation de touche du clavier [ par zibo3 ]
Bonjour, j'ai un petit souci, j'aimerai pouvoir simuler l'appuie sur la touche TAB mais avec la touche SHIFT appuyé.Je sais que je dois envoyé un évén
Edit_box et la touche Enter [ par by_rabbit_08 ]
Bonjour!Je sais que cette question a été posée plusieurs fois, mais pas exactement comme je l'aimerais, et malgré tout ce que j'ai lu, je n'arrive pas
C++ win32 - perte de la touche TAB pour changement de zone au sein d'un Dialog. EDIT multiline. [ par magic_Nono ]
Bonjourje souhaite dynamiquement créer une boite sans ressourcegérant la navigation entre zone par touche TAB/ Maj+TABTout fonctionne bien tant qu'on
Edit Box + Default Button [ par Manson ]
Salut,j'avais trouve sur msdn comment faire mais je ne le retrouve pas. J'aimerai associer une fonction a une touche dans un editbox. Par exemple dire
Utilisation de tab dans une appli win32 [ par zibo3 ]
Bonjour, j'utilise le code suivant dans ma fenêtre pour créer deux champs Edit et j'aimerai naviguer à l'aide de la touche Tab mias mon ordinateur eme
Sortie d'un contrôle EDIT multiligne. [ par mohdaef ]
Bonjour.J'ai un problème de sortie d'un edit multiligne, je m'explique. Dans un fenêtre j'ai plusieur contrôle edit dont un qui possède l'option ES_MU
Détection de touche dans un edit [ par Brice25 ]
Bonjour à tous, je fais appel à vous car j'ai besoin d'aide pour mon projet de BTS. Je développe un appli sous C++ Builder 5 pro. J'aimerais détecter
Touche return sur contrôle EDIT [ par ArthurAuguste ]
Bonjour, J’ai une fenêtre principale et une fenêtre enfant, ma fenêtre enfant est un simple contrôle "EDIT" créé avec CreateWindow("EDIT",…..). Je vou
Probleme allocation C++ [ par elite182 ]
Bonjour a tous , je dois réaliser une fonction qui range des grands nombres dans un tableau d'entier, ( ex : 2 333 546 donnera : Tab[0] = 546; tab
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|