[MFC] PostMessage depuis Thread vers CDialog
Bonjour à tous,
je vous explique mon petit souci : j'ai une boîte de dialogue CDialog à partir de laquelle je lance un Thread de Travail en cliquant sur un bouton.
De ce côté-là, tout va bien, j'ai fait une méthode LRESULT, j'ai ajouté ON_MESSAGE dans le message map, j'ai défini un message windows WM_APP+1.
Quand je lance mon Thread, j'aimerais utiliser une classe C++ que j'ai faite.
Le problème est comment j'utilise PostMessage pour envoyer des infos concernant la mise à jour des contrôles visuels (barre de progression...).
En effet, quand je met le code de ma classe directement dans le thread, ça marche parce que le message WM_APP+1 est défini dans la classe CDialog.
Mais si je crée une instance de ma classe dans le thread, alors je n'ai plus accès au message WM_APP+1 car il est privé.
Un petit bout de code juste histoire de :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
// CDialog.cpp
#include "CDialog.h"
#include "FEMU.h"
#define WM_MESSAGE WM_APP+1
static UINT Thread(void *pParam)
{
FEMU test(pParam); // instance de ma classe FEMU dans le thread
return 0;
}
// FEMU.cpp
FEMU::FEMU(void *pParam)
{
PostMessage(???)
} |
J'espère avoir été clair. Merci d'avance pour votre aide.