piroman14
Messages postés18Date d'inscriptionsamedi 14 juin 2008StatutMembreDernière intervention11 novembre 2008
-
2 juil. 2008 à 14:14
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 2010
-
3 juil. 2008 à 13:37
Bonjour je souhaiterais envoyer des messages au moyen de la fonction SendMessage dans la fenêtre déjà existante hEdit.
L'aide n'est pas très fournie. Je ne sais pas comment remplir les champs de la fonction.
LRESULTSendMessage(HWNDhWnd, UINTMsg, WPARAMwParam, LPARAMlParam); Merci_ de votre aide ça me serait très utile.
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 2 juil. 2008 à 20:14
Déjà la prochaine fois évite de mettre le nom de la fonction en blanc ça aide pas
Ensuite pour un Edit tu peux utiliser simplement SetWindowText(hEdit,"le texte");
accessoirement pour répondre à ta question :
SendMessage(HWND hEdit,WM_SETTEXT,NULL,(LPARAM)"le texte");
suffit de savoir quel message utiliser (WM_SETTEXT en l'occurence) et chercher la signification des paramètres pour ce message en particulier sur MSDN ou dans le SDK.
piroman14
Messages postés18Date d'inscriptionsamedi 14 juin 2008StatutMembreDernière intervention11 novembre 2008 3 juil. 2008 à 09:29
Excuse moi pour la fonction mais elle était sélectionnée c pour ça qu'elle n'était pas affichée en noir.
Sinon j'ai bien essayé ce que tu m'as dit (j'avais essayé des choses semblables avant) mais sans succès.
Ces lignes ne génèrent aucune erreur à la compilation mais aucun texte ne s'affiche dans ma fenêtre.
Ne faut-il pas rafraîchir la fenêtre? Le pb c que je ne sais pas comment.
piroman14
Messages postés18Date d'inscriptionsamedi 14 juin 2008StatutMembreDernière intervention11 novembre 2008 3 juil. 2008 à 11:50
Hi everybody!!
Quelqu'un pourrais-t-il m'expliquer pourquoi si SetWindowText(hEdit,"Traitement en cours..."); est avant if (GetOpenFileName(&ofn)= =TRUE) le message s'affiche bien dans ma fenêtre alors que si celui-ci est après il ne s'affiche pas?
SendMessage(hEdit,WM_SETTEXT,NULL,(LPARAM)"Traitement en cours..."); // le message ici s'affiche bien
SetWindowText(hEdit,"Traitement en cours...");
if (GetOpenFileName(&ofn) ==TRUE)
{ HFONT hFont;
SetWindowText(hEdit,"Traitement en cours..."); // alors qu'ici il ne s'affiche pas ???
SendMessage(hEdit,WM_SETTEXT,NULL,(LPARAM)"Traitement en cours...");
i = 0;
while (*(szFile + i) != 0)
{
*(name + i) = *(szFile + i);
++i;
}
*(name + i) = 0; // terminateur par défaut
while (i > 0)
{
--i;
if (*(name + i) == '\\') break; // pas d'extension
if (*(name + i) == '/') break; // pas d'extension
if (*(name + i) == '.')
{
*(name + i) = 0; // extension supprimée
break;
}
}
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 3 juil. 2008 à 13:37
Pourquoi mets-tu SendMessage ET SetWindowText? C'est un des deux, ils font la même chose en l'occurence.
Quant à savoir pourquoi ça marche pas dans un cas...Es-tu sûr que tu entres bien dans le bloc?
Tu peux tester par exemple :
if(GetOpenFileName(&ofn)) // (pas besoin de ==TRUE)
{
SetWindowText(hEdit,"Traitement en cours");
MessageBox(NULL,"Test","Test",MB_OK);
...
}