Wie bekomme ich den Handle in den Thread?
-
Hallo,
ich übergebe einen CWnd-Handle in einen Thread.
Das sieht so aus:test = AfxBeginThread( KeyListener, cwnd, THREAD_PRIORITY_NORMAL, 0, 0, NULL);
cwnd ist der CWnd-Handle. Im Thread kommt der Wert aber als LPVOID an:
static UINT KeyListener(LPVOID Pparam)
Und ich bekomme nur einen Zeiger auf den Handle, mit
CWnd *cwnd = (CWnd*) Pparam;
Ich brauche aber den Handle selbst, um dann bestimmte Memberfunktionen aufzurufen, wie kriege ich den?
Danke für evtl. Antworten und für das tolerieren meiner Unwissenheit!Christian
-
CWnd::getSafeHwnd()
Die Doku wirkt manchmal wunder...
Mfg
Beowulf
-
Ich habe doch den Handle schon.
Ich übergebe ihn ja in den Thread, aber habe dort nur den Zeiger darauf...Christian
-
Memberfunktionenaufruf?
Was spricht gegen ein "pwnd->Memberfunktion"?
-
Beowulf schrieb:
Memberfunktionenaufruf?
Was spricht gegen ein "pwnd->Memberfunktion"?
Hm, nichts erstmal, von daher danke.
...außer dass es jetzt:
cannot access protected member declared in class 'CWnd'
sagt....
-
kox schrieb:
Beowulf schrieb:
Memberfunktionenaufruf?
Was spricht gegen ein "pwnd->Memberfunktion"?
Hm, nichts erstmal, von daher danke.
...außer dass es jetzt:
cannot access protected member declared in class 'CWnd'
sagt....
Ja.. das kommt vor.
Allerdings denke ich das ich die Lösung schon genannt habe.
Siehe auch klickmich!