Controler une ListBox avec un thread

header Messages postés 19 Date d'inscription lundi 9 octobre 2000 Statut Membre Dernière intervention 23 juin 2002 - 20 janv. 2002 à 18:23
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 - 2 déc. 2003 à 00:23
Apres avoir creer et appeler ma fct thread j'aimerai controler une listbox.(ou un autre controle)
Comment je dois faire ???
Comment attacher une variable a un controle autre qu'avec ClasWizard
Merci.
Header

3 réponses

cs_jpeg Messages postés 40 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 25 février 2004 1
21 janv. 2002 à 16:09
Je suppose que tu utilises les MFC.
Moi j'ai eu ce problème et j'ai fait comme ça (c'est tout con)

d'un côté t'as ta fonction qui va être appelée en tant que thread

UINT MonThread(CListBox* unListBox)
{
/// blablablablablabla
return qquechose;
}

et dans ta classe appelante tu as un truc du style

AfxBeginThread(MonThread,&monListBox);

voilà tout.

Tu peux également passer un pointeur sur l'instance de ta classe. Comme ça tu peux accéder à tout les contrôles.

Il suffit juste de changer le prototype du thread et d'appeler
AfxBeginThread(MonThread,this);

ensuite dans le thread, tu peux faire maFenetre->maListeBox
0
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
2 déc. 2003 à 00:06
ET pourquoi ca marche pas ????

Question : Pourquoi ca merde aussi ?

static UINT WINAPI MonThread(CListBox* unListBox)
{
/// blablablablablabla
return 0;
}

void CTestThreadsDlg::OnButton1()
{
AfxBeginThread(MonThread,&monListBox);
}

monListBox est une variable d'acces à une ListBox
0
BarthOlivier Messages postés 132 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 27 novembre 2012 1
2 déc. 2003 à 00:23
Désolé pour le derangement fallait juste faire un peu de C++ on est de plus en plus feignant ....

UINT MonThread(LPVOID pParam)
{
CStatic *Dlg=(CStatic*)pParam;
Dlg->ShowWindow(false);
return 0;
}
void CTestThreadsDlg::OnButton1()
{
AfxBeginThread(MonThread,&m_Image1);
}

Merci quand meme
0
Rejoignez-nous