Ha ? Il va falloir que je révise mes sources alors :) mais l'esprit est là.
Version imprimable
Bonjour,
Je ne vois pas trop quoi faire du handle HWND. Je reprends mon code seulement aujourd'hui, ai cherché pas mal d'informations sur internet, mais n'ai rien trouvé de concret. La plupart des tutoriels se contentent de montrer comment définir son propre message, comment envoyer un message avec SendMessage() ou GetMessage(). Les exemples choisis ne nécessitent pas de passer des paramètres à la fonction de traitement du message, je n'ai donc pas récolté beaucoup d'informations.
J'ai mon propre message, la fonction associée, d'en-tête :
Maintenant, j'imagine que dans mon thread de travail je vais devoir envoyé des messages via :Code:LRESULT NomFonction(WPARAM wParam, LPARAM lParam)
,Code:SendMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
de façon à ce que ce handle me serve à quelque chose. Cependant, je ne vois pas du tout comment procéder, notamment par un message utilisateur, et encore moins ce qui doit être mis dans WPARAM et LPARAM. Je veux dire par là, quel(s) type(s) ? Je comptais n'envoyer que des entiers ou des chaînes de caractères (CString). Ensuite, comment identifier la "commande" dans la fonction de traitement du message. Par exemple, comment distinguer une demande de SetStep() d'une demande de StepIt() pour ma barre de progression. Enfin, comment créer et modifier ma barre de progression en utilisant le handle de ma fenêtre d'application ?
Désolé, mais j'ai vraiment pris du temps à chercher ça, sans trouver.
Merci par avance !
Ah :), merci, ça me donnera un deuxième support puisque j'avais déjà imprimé tout ça (...). D'ailleurs, mon problème ne se situait pas vraiment au niveau de la définition de messages utilisateurs, ni même des fonctions associées. Je me demande si tu as lu :cry:.
Plus sérieusement, savoir comment définir ses propres messages et les fonctions associées est très bien, mais savoir ce qui précède plus la manière d'implémenter les fonctions est plus utile.
Bref, j'ai réglé mon problème. Si jamais quelqu'un venait à rencontrer le même souci que moi, voici un lien utile :
Updating a CProgressCtrl from a multi-threaded application
Merci à vous pour les pistes. ;)
Je pensais qu'il ne te manquait que le mécanisme de routage des messages vers la fonction.
Le lien montre comment faire ce routage.
Qu'est-ce qui te bloquait si ce n'est pas ce routage des messages ?