Accueil > Forum > > > > Probleme sous-classement? [C-Win32]
Probleme sous-classement? [C-Win32]
mercredi 11 juillet 2007 à 17:29:23 |
Probleme sous-classement? [C-Win32]

fredsor
|
Bonjour a tous, Voici mon probleme : Je lis un fichier txt contenant les infos me permettant de créer mes composants sur ma page. Ces composants peuvent etre des boutons, possédant un identifiant... Bref je gere ces identifiants, qui font par exemple que si l'utilisiteur appuie sur la touche clavier "Entrée", alors il va simuler le clik sur le bouton possedant comme identifiant "RETURN". Vous me suivez? Bon voila, cela fonctionne tres bien pour ma premiere page. J'ai donc voulu simuler maintenant plusieurs page a la suite. Lors d'un clik sur bouton, je "destroy" tous mes composants, je reinitialise mes tableaux et lit un nouveau fichiers txt, qui me permet d'afficher ma deuxieme page Voici le hic : si dans cette deuxieme page j'ai egalement un bouton avec l'identifiant "RETURN", alors il simule également le clik, sans que je n'ai rappuyer pour autant sur la touche Entrée!! Autrement dis, si je lis X fichiers contenant chacun un bouton contenant l'identifiant RETURN, alors si j'appuis une premiere fois sur Entrée, tous mes ecrans vont defiler a la suite sans rien faire...  Je ne comprends pas, j'ai essayé en reinitialisant toutes mes variables, ca ne marche toujours pas J'en appelle donc a votre bonne volonté, merci 
|
|
jeudi 12 juillet 2007 à 20:27:34 |
Re : Probleme sous-classement? [C-Win32]

juju12
|
Tu devrais mettre un bout de code, notamment là où tu crées les contrôles et là où tu gère le click (enfin la touche clavier du coup), parce que là c'est difficile à voir.
|
|
vendredi 13 juillet 2007 à 09:03:30 |
Re : Probleme sous-classement? [C-Win32]

fredsor
|
Pas de souci juju12, merci de répondre je commencais a desesperer!! Voici ma création de controle : case WM_CREATE: { for(int i=0;i<GetNombreComposant();i++) { if(strncmp(GetTableauDescription(i),"B",1)==0) { hBtn[i] = CreateWindowEx( 0, TEXT("BUTTON"), ConvertAnsiToUnicode(GetContenu(i)), WS_VISIBLE | WS_BORDER | WS_CHILD, atoi(GetAbscisse(i)), atoi(GetOrdonnee(i)), atoi(GetLargeur(i,"B")), atoi(GetHauteur(i,"B")), hWnd, HMENU(ID_BUTTON), hinst, NULL); // OldButtonProc= NULL; OldButtonProc = (WNDPROC) SetWindowLong(hBtn[i], GWL_WNDPROC, (LPARAM)ButtonProc); if(GetFocalisation(i)!=NULL) { boutonPourFocus=hBtn[i]; } if(GetCouleur(i)!=NULL) { AttribuerCouleur(i,GetCouleur(i)); } else { couleurFond[i]=fondGris; couleurFondTexte[i]=gris; couleurTexte[i]=noir; } } else { hBtn[i]=NULL; } if(strncmp(GetTableauDescription(i),"E",1)==0) { hEdit[i] = CreateWindowEx( 0, TEXT("EDIT"), ConvertAnsiToUnicode(GetContenu(i)), WS_VISIBLE | WS_BORDER | WS_CHILD|WS_TABSTOP, atoi(GetAbscisse(i)), atoi(GetOrdonnee(i)),
Pour t'expliquer un peu cette premiere partir, en fait je fais un parsing d'un fichier "codé" me disant quel composant créer, et j'en extrait les données. Donc si je tombe sur une ligne commencant par "B", je créé un Bouton avec les données requises. Ensuite je fais mon sous classement vers ButtonProc Voila pourle sous classement par exemple du Bouton : LRESULT CALLBACK ButtonProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch(message) { case WM_COMMAND: { if(LOWORD(wParam) == MYACCEL) { varGlobale = 1; TabulationArriere(); } break; } case WM_KEYUP: { EcrireFichierBidon("keyup btnproc"); if(wParam == VK_TAB) { if(!varGlobale) { GererKeyUp(hwnd,message,wParam,lParam); } else varGlobale = 0; } else { GererKeyUp(hwnd,message,wParam,lParam); varGlobale=0; } break; } case WM_CHAR: // on gere le cas où une lettre est tapée : on doit vérifier si elle correspond à un bouton (premiere lettre soulignée par exemple) { EcrireFichierBidon("wmchar btnproc"); VerifierSiRaccourci(hwnd, message, wParam, lParam); break; } default: break; } return CallWindowProc(OldButtonProc, hwnd, message, wParam, lParam); }
Dans ce sous classement je gere : si une touche est relachee ( genre Entree, alors si le bouton a la focus on simule le clik si une touche Char est entree, on verifie si le bouton n'a pas cette lettre de soulignée, auquel cas on simule egalement le clik etc... J'ai ainsi fait sur le meme principe un sous classement pour mes editbox, mes listbox et le WndProc général, si le focus est nulle part... Et donc le souci, c'est que si j'appui sur un bouton pouvant etre utile également au deuxieme écran, il semble croire que j'appui également sur ce bouton une deuxieme fois.. J'espere que tu auras compris mes explications au combien claires ^^
Pour info, j'ai essayé d'initialiser toutes mes procedures de sous classement avant la création de l'ecran suivant, genre : EditProc(NULL,NULL,NULL,NULL); WndProc(NULL,NULL,NULL,NULL); ListBoxProc(NULL,NULL,NULL,NULL); ButtonProc(NULL,NULL,NULL,NULL); GererKeyUp(NULL,NULL,NULL,NULL); VerifierSiRaccourci(NULL,NULL,NULL,NULL);
Et meme essayé de mettre le MSG capté a NULL( ca c'est ptet pas terribl je l'avoue) : msg.hwnd=NULL; msg.lParam=NULL; msg.message=NULL; msg.time=NULL; msg.wParam=NULL;
Voilou, je ne sais plus quoi faire!! 
|
|
vendredi 13 juillet 2007 à 15:48:58 |
Re : Probleme sous-classement? [C-Win32]

fredsor
|
Réponse acceptée !
Résolu! Désolé d'avoir fait perdre du temps avec un problème venant de mon code...  Lorsque je gérais la touche "Entrée" par exemple, je parcourais tout le tableau pour savoir si un composant possédais la touche "Entrée" comme parametre, et si je le trouvais alor je lancais l'action "cliquer sur le bouton"... mais je n'arretais pas la boucle, disant que le bouton était trouvé et donc que je pouvais m'arreter de boucler sans cesse... Bon je ne suis pas clair?  Toujours est-il qu'avec un petit booleen , tout ceci rentre dans l'ordre Merci a toi juju12 d'avoir pris le temps de t'intéresser a mon probleme, qui je l'avoue ne donne pas tres envie a quiconque de se plonger dedans  Merci, j'adore ce site!!! 
|
|
Cette discussion est classée dans : bouton, page, probleme, contenant, identifiant
Répondre à ce message
Sujets en rapport avec ce message
Probleme pour faire apparaitre un message tip [ par blork ]
Salut !J'aimerai savoir comment faire pour que lorsque l'on place la souris sur un bouton par ex, il y ai un petit rectangle jaune qui apparaisse ou l
Probleme C++Builder, gestion de boutons etc. [ par FXL ]
Bonjour a tous, je vous écris car j'ai un projet de licence a réaliser qui consiste a faire une interface graphique, créer un petit logiciel simple et
Probleme: controls (bouton et autres) visibles mais non cliquable [ par weexity ]
j'utilise une appli SDI Dans la classe CChildView j'ai comme attribut 4 Classe differentes personnelles derivé chacune de CDialog. En gros, ce sont
probleme d'affichage d'une icone dans un bouton (MFC) [ par MadNomad53 ]
J'ai un souci pour afficher une icone dans un bouton. J'arrive a afficher une icone standard (genre logo windows) mais quand c'est ma propore icone ca
Multitache pour un ihm [ par mr_alicia ]
Voilà j'ai fait un ihm avec les bibliotheque QT, pour piloter un robot. Le probleme est de rendre cette ihm multitache. j'explike le probleme :)Quand
probleme avec changement du texte d'un bouton [ par chriscrepin1 ]
mon probleme je veux passer a une boite dialogue le texte d'un bouton a partir de ma fenetre mere je creer un objet de ma second fenetre j'appelle la
Probleme d'image sur un bouton [ par DraaFil ]
Bonjour,j'ai trouver un bout de code qui me permet de mettre une image (bmp) sur le bouton. le probleme c'est que je ne sais pas dans quel class et fo
probleme html [ par istase ]
J'ai un petit probleme : je voudrai à partir d'un bouton se trouvant dans un formulaire en html faire appel au magnétophone de windows...c le lien c:W
Probleme affichage de page [ par ralebole ]
J'ai un petit probleme avec les pages de cppfrance. Depuis peu à chaque fois que j'ouvre une page sur cppfrance et sur tout code sources mes pas sur l
Probleme de bouton en C [ par yohan49 ]
Salut les gars , vous pouvez me donner l'astuce pour pouvoir afficher un bouton avec icone + text ,ca fait des jour que je cherche et le resultat est
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
|