Thread mit MFC
-
Hi Leute,
noch ne Frage zu Threads. Ich rufe den Thread so auf:
AfxBeginThread(ThreadProc, hwnd, THREAD_PRIORITY_NORMAL);
und das ist die Funktion dazu:
UINT ThreadProc(LPVOID param)
{
TCHAR szText[] = _T( "Text" );
::SendMessage((HWND)param, WM_SETTEXT, (WPARAM)0,(LPARAM) szText );
test->edit(szText);return 0;
}Nun möchte ich aber nicht nur einen Handle übergeben, sondern mehrere. Wie kann ich die Funktion erweitern um weitere Handles übegeben zu können?
Danke schon mal im voraus.
Grüße
xthing
-
Leg einfach nen kleine Struct an... die füllst du mit den Werten ... und in der Func nimmst du die wieder raus

-
hi, danke für die Antwort.
Structur anlegen ist ok, aber iwe baue ich die in den Funktionaufruf ein und und wie in die Furnktionimplemetierung?
Danke noch mal.
Grüsse
xthing
-
// Struktur definieren struct THREAD_PARAMETER { HWND hWnd; unsigned int nID; }; // In deiner Funktion eine Variable anlegen von deiner Struktur. THREAD_PARAMETER param; param.hWnd = hwnd; param.nID = 10; // Thread starten... AfxBeginThread(ThreadProc, (LPVOID)¶m, THREAD_PRIORITY_NORMAL); // Threadfunktion UINT ThreadProc(LPVOID param) { THREAD_PARAMETER* pParam = reinterpret_cast<THREAD_PARAMETER*>(param); if (!param) return 1; TCHAR szText[] = _T("Text"); ::SendMessage(pParam->hWnd, WM_SETTEXT, (WPARAM)0, (LPARAM)szText); return 0; }So in etwa...