Accueil > Forum > > > > SendMessage a deux editbox
SendMessage a deux editbox
mardi 12 octobre 2004 à 23:26:08 |
SendMessage a deux editbox

leprov
|
salut a tous. j'essaie d'nevoyer a l'affilée de message WM_SETTEXT a deux EditBox distincts, et apparement le premier EditBox recoit bien son message mais pas le second.....au depart il recevait ce message, et apres avoir effectué une modification qui n'a, a priori, aucune influence la dessus, ce second message n'est plus recu.....je pense que c'est pas assez précis et qu'il faudrait le code, mais y'en a tellement pr que ca puisse etre un minimum clair que je post pas pr l'instant, et si qqun a une idée, et qu'en fait c'est juste un fonctionnement du SendMessage que j'ai pas capté, ca m'evitera de poster tt ca. si vraiment c'est necessaire et que c'est pas un bug du au SendMessage parce que qqch ma echappé, dites le jessaierais de poster le plus concis et malgré tt complet possible. merci d'avance
|
|
mardi 12 octobre 2004 à 23:49:33 |
Re : SendMessage a deux editbox

BruNews
|
Aucun bug sur SendMessage, tu as surement un prob de handle.
ciao... BruNews, MVP VC++
|
|
mercredi 13 octobre 2004 à 08:51:48 |
Re : SendMessage a deux editbox

leprov
|
je parlais pas d'un bug sur sendmessage, mais de dire que mon sendmessage provoque un bug parce qu'il a un comportement que je n'avais pas controlé. qu'est ce que tu entend par pb de handle? au pire je post mon code. le plus bizarre est que quand je regarde les données que je dois envoyer a ma seconde edtibox, le message est correct, mais ma editbox la recoit pas. j'ai testé de faire une messagebox qui me fait afficher le message a envoyer, ce message est correct. d'ailleurs quand je fais cette messagebox de test, aucuns de mes 2 messages n'est envoyé....j'avoue que j'y perd mon c++
|
|
mercredi 13 octobre 2004 à 10:05:17 |
Re : SendMessage a deux editbox

DeAtHCrAsH
|
Au lieu de perdre ton temps avec des SendMessage() pour afficher du texte, utilises l'API SetWindowText() ou SetDlgItemText(), ca sera plus rapide et ca rendra ton code plus lisible. ex : SetDlgItemText(hWnd, IDC_EDIT1, "Bonjour"); ou SetWindowText(hEdit1,"Bonjour");
|
hEdit1 correspond au handle de ton EditBox. C'est ce dont BruNews te parle plus haut. Pour la récupérer, utilises l'API GetDlgItem. Exemple: /*Déclaration du handle de l'EditBox*/ HWND hEdit1;
/*On affiche le texte dans l'EditBox*/ SetWindowText(hEdit1, "Bonjour");
|
Voila, rien de très compliqué. Shell
|
|
mercredi 13 octobre 2004 à 10:11:16 |
Re : SendMessage a deux editbox

leprov
|
bah mes handles sont en globaux....donc je connais mes handles, ya pas de pb de ce coté. la jai pas VC sous la main, mais des que j'ai ce qu'il faut, je teste ca, je reposterais pr dire si ca marche. merci pour le setwindowtexte et setdlgitem, chui pas en api depuis tres longtps, jai pas encore bcp de fonctions en tete, je fais avec ce que je connais, dc ca me fait ca en plus, merci. il n'empeche que j'aimerais comprendre pk ca marche pas, et pk comme j'ai fait on dirais que mon deuxieme message n'est pas recu....bon pas grave pr linstant, mais si je pouvais avoir une explication, ca maiderais, jaime bien capter comment fonctionnent les choses en profondeur....
|
|
mercredi 13 octobre 2004 à 10:56:23 |
Re : SendMessage a deux editbox

ymca2003
|
SetWindowText, SetDlgItemText, SendMessage(WM_SETTEXT), c'est pareil :
"The SetWindowText function causes a WM_SETTEXT message to be sent to the specified window or control."
"The SetDlgItemText function sends a WM_SETTEXT message to the specified control."
Donc c'est pas plus rapide, mais plus lisible oui.
|
|
mercredi 13 octobre 2004 à 11:23:01 |
Re : SendMessage a deux editbox

leprov
|
et a part ca, qqun a une explication a mon pb?
|
|
mercredi 13 octobre 2004 à 13:55:53 |
Re : SendMessage a deux editbox

ymca2003
|
si tu es sous visual C++, il y a un outils appelé Spy++ qui permet de connaître le handle des contrôles (et ainsi vérifier que tu as le bon) et de voir les messages qu'il traite.
Sinon tu parle d'une modification apportée qui fait que ça ne marche plus, qu'elle est elle ? elle a peut être un effet caché.
|
|
mercredi 13 octobre 2004 à 18:58:12 |
Re : SendMessage a deux editbox

leprov
|
bon je vais essayer de mettre un code relativement explicite avec explications. j'ai une fenetre avec 12 boutons (pour l'instant), et deux editbox. (juste pour la partie qui pose probleme). lorsque je click sur un bouton, je veux sauvegarder les parametres entrées dans les editbox dans un objet contenant toutes les données relatives a ce bouton, puis afficher les données concernant le bouton sur lequel j'ai clické(en gros...) j'ai donc codé ca: case WM_COMMAND: if (IndCurrentNode != 999 && IndCurrentButton != 999) { char Buf [64]; char Buf2 [2]; GetWindowText (Zone_Texte, Buf, 64); GetWindowText (Zone_Racc, Buf2, 2); VNodes[IndCurrentNode].ModifButton (IndCurrentButton,string (Buf),Buf2[0]); break;
}
if (HIWORD(wParam) == BN_CLICKED) switch (wParam) { case ID_BUTTON_1: FindButton (0,0); goto Lbl; case ID_BUTTON_2: FindButton (1,0); goto Lbl; case ID_BUTTON_3: FindButton (2,0); goto Lbl; case ID_BUTTON_4: FindButton (3,0); goto Lbl; case ID_BUTTON_5: FindButton (0,1); goto Lbl; case ID_BUTTON_6: FindButton (1,1); goto Lbl; case ID_BUTTON_7: FindButton (2,1); goto Lbl; case ID_BUTTON_8: FindButton (3,1); goto Lbl; case ID_BUTTON_9: FindButton (0,2); goto Lbl; case ID_BUTTON_10: FindButton (1,2); goto Lbl; case ID_BUTTON_11: FindButton (2,2); goto Lbl; case ID_BUTTON_12: FindButton (3,2); Lbl: SendMessage (Zone_Texte, WM_SETTEXT, 0,(LPARAM) string (VNodes[IndCurrentNode].GetButtons()[IndCurrentButton].GetTexte()).c_str()); SendMessage (Zone_Racc, WM_SETTEXT, 0,(LPARAM) string (1, VNodes[IndCurrentNode].GetButtons()[IndCurrentButton] .GetRaccourci()).c_str());
|
pour essayer d'eclaircir tout ca, j'ai un vecteur qui contient les différents boutons a afficher dans tel ou tel cas, et chaque element de ce vector contient un vector avec les informations relatives a chaque bouton. les valeurs 999 sont pour au vas ou on aurait eut une selection invalide du noeud pour ne pas fausser les informations, puisque dans aucun cas on n'aura 999 valeurs dans un des 2 vecteurs. les variables IndCurrentXX sont declarées en globales de meme que mes handles. FindButton permet de trouver a quel bouton du vecteur correspond le bouton sur lequel on a cliqué. voila pour le résumé. le probleme ne se pose pas si j'enleve if (IndCurrentNode != 999 && IndCurrentButton != 999) { char Buf [64]; char Buf2 [2]; GetWindowText (Zone_Texte, Buf, 64); GetWindowText (Zone_Racc, Buf2, 2); VNodes[IndCurrentNode].ModifButton (IndCurrentButton,string (Buf),Buf2[0]); break; }
|
et ne se pose plus si je sort les declarations de mes buffers du bloc "if" et que j'appelle modifbutton apres avoir fait mes deux sendmessage (..., WM_SETTEXT, ...); en bref mon pb est résolu, mais je n'ai pas la moidre idée de ce qui se passe et j'aimerais sincerement comprendre...... merci d'avance a ceux qui passeront du tps sur ce code pour essayer de m'expliquer
|
|
mercredi 13 octobre 2004 à 23:13:25 |
Re : SendMessage a deux editbox

DeAtHCrAsH
|
Bababababa, c'est quoi ce truc dégeulasse!!!! Pour commencer tu peux virer tout ces goto et mettre en mettant a la suite tout les ID de controles qui appellent le meme bloc d'instruction, et tu ne mets pas de break entre. Comme ce des que tu as un événements qui est généré, ca ira directement au bloc d'instruction sans appeller de goto.
Sinon je vois pas dans ton code ou tu récupère le handle de tes editbox.
ymca2003> j'entendais par plus rapide, non pas le temps d'execution, mais la taille de la ligne a écrire entre un SendMessage et SetDlgItemText ou SetWindowText. Autant pour moi.
Shell
|
|
Cette discussion est classée dans : message, sendmessage, pr, editbox, second
Répondre à ce message
Sujets en rapport avec ce message
librairie en vis c++ pr message box [ par pipic ]
slt todo el mundoquelle est la librairie a utiliser pour faire afficher les messages box sous visual c++ ?????G des classes externes avec lesquelles
SendMessage vers une fenêtre minimisée [ par Keenes ]
Bonjour,Le sujet du message n'étant pas très explicite, voici de quoi il s'agit :Je cherche à réaliser une logiciel de capture d'écran, comme il en ex
Envoyer un message à un bouton ??? [ par RV2931 ]
Bonjour,J'ai fait un programme qui contient un EditBox et un bouton qui est censé envoyer le contenu de l'EditBox.Le truc c que je souhaite intercepte
Sous classement editbox [ par julienbj ]
Je cherche à sous classer une editbox pour modifier son affichage. Je sous classe donc le message WM_PAINT pour pouvoir modifier l'apparence de l'edit
SendMessage à Dialog [ par vecchio56 ]
Salut J'ai un question pour la valeur retournée pas SendMessage quand on l'utilise pour envoyer un message à un Dialog. Voici un exemple: INT_PTR CAL
pb avec SendMessage() [ par minet03 ]
Hello, voilà mon problème... depuis ma DlgProc() j'envoi un message avec la fonction SendMessage() comme ci : SendMessage(hWindow,IDC_MESSAGE,(WPARAM)
probleme de SendMessage [ par kor6k ]
Bonjour,J'ai créé une classe dérivant d'un CButton et dans ma fenêtre principale, je crée une instance de cette nouvelle classe.Je veux pouvoir gérer
edit et autre [ par deck_bsd ]
Bonsoir a tous :D Voila c'est une bête question mais dans les propriétés d'une editbox,... je n'ai pas trouvé comment faire en sorte que l'affichage
transparence + focus + message entre apps [ par alphaone ]
Bonours, 1)Voila je faire un exe qui rend les autre féntre plus ou moin transparente si elle sont selectionner ou non. 2)Et je veux aussi que si on l
EditBox et Unicode avec Visual studio 6 [ par hibou ]
Je cherche comment créé une EditBox pouvant accpeter les caratères UNICODE et sans utiliser MFC. Quelqu'un pourrait-il m'aider ? Je ne sais pas commen
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
|