|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
[Visual c++]Puntatore This e CClientDC
Salve a tutti
devo risolvere un piccolo problemino (il probl principale è che nn sono pratico di Visual C++)... Ho dichiarato un thread tramite questa dichiaraz (nell'header) static DWORD WINAPI ThreadProc(LPVOID pObjPointer) nel corpo della funzione, ho bisogno di dichiarare un oggetto della classe CClientDC, e di solito facevo così CClientDC dc(this) ora mi dice (ovv penso...) che il puntatore this nn è disponibile per funzioni membro static.... come devp dichiarare l'oggetto? devo ottenere in pratica l'area client della finestra di dialogo (per disegnarci)... grazie!!
__________________
ho fatto affari con: na decina di anime |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non avevamo detto di mettere tutto all'interno di un metodo che faceva parte della classe e che era richiamato tramite un messaggio ?!?!?
In quel caso funziona tutto come prima... |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
Quote:
giusto, scusami ma sto ancora dormendo.... ancora grazie.
__________________
ho fatto affari con: na decina di anime |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Eravamo rimasti a questa struttura se non sbaglio:
Codice:
for(int i=0; i<N; ++i)
{
dlg->drawComplete = false;
dlg->SendMessage(WM_DODRAWSTUFF);
while(!dlg->drawComplete)
Sleep(1);
if(dlg->stopThread)
break;
}
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
Quote:
ma all'interno di questa struttura devo disegnare, quindi devo richiamare una funzione membro della classe (da me definita) che disegna, come faccio di solito.... e nella funzione membro uso il CClientDC dc(this)....
__________________
ho fatto affari con: na decina di anime |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
dlg->SendMessage(WM_DODRAWSTUFF);
Ci penserà questo emssaggio a richimare la funzione che disegna !!! |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
Quote:
ahhhh, ora ho capito.... in pratica se richiamo direttamente la funzione così while (!dlg->stopThread) dlg->Disegna(); va male?
__________________
ho fatto affari con: na decina di anime |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sì...perchè c'è il solito problema che ci dava l'altra volta...in pratica MFC non vuole che la parte "grafica" dell'applicazione venga gestita da un thread diverso...
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jan 2003
Città: Castellammare di Stabia (NA)
Messaggi: 2031
|
Quote:
allora la chiamata a un'altra funzione la faccio tramite messaggio (come facevamo per la UpdateData con la funz OnUpdateData)... ciao e buona giornata
__________________
ho fatto affari con: na decina di anime |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:04.



















