Piemur2000 | C dans la fonction callback principale. Mais comme g dit plus tot g essayé avec le handle de la fenetre et ca marche pas non plus...
Voila ma fonction callback :
Code :
- LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
- {
- int wmId, wmEvent, error, i, nbpt;
- PAINTSTRUCT ps;
- HDC hdc;
- static TripodeData Data;
- char g_FileName[100]="";
- static int etape=0;
- UINT retour=-1;
- switch (message)
- {
- case WM_CREATE:
- retour = SetTimer(hWnd, IDT_TIMER, 50, 0);
- break;
- case WM_COMMAND:
- wmId = LOWORD(wParam);
- wmEvent = HIWORD(wParam);
- switch (wmId)
- {
- case IDM_EXIT:
- DestroyWindow(hWnd);
- break;
- case IDM_OPEN:
- //Ouverture du fichier
- error = GetFileName(hWnd, g_FileName);
- LectureDonnees(g_FileName, Data);
- if(error!=1)
- MessageBox(hWnd,"Probleme de lecture des données","Erreur",MB_ICONEXCLAMATION);
- else
- MessageBox(hWnd,"Fichier ouvert","OK",MB_ICONEXCLAMATION);
- //Affichage des données chargées
- InvalidateRect(hWnd,NULL,TRUE); UpdateWindow(hWnd);
- retour = SetTimer(hWnd, IDT_TIMER, 50, 0);
- break;
- case WM_TIMER:
- /*switch (wParam)
- {
- case IDT_TIMER:*/
- if(etape<Data.nbptPoints)
- etape++;
- else
- KillTimer(hWnd, IDT_TIMER);
- InvalidateRect(hWnd,NULL,TRUE); UpdateWindow(hWnd);
- /*break;
- }*/
- break;
- default:
- return (DefWindowProc(hWnd, message, wParam, lParam));
- }
- break;
- case WM_PAINT:
- hdc = BeginPaint (hWnd, &ps);
- nbpt=Data.nbptPoints;
- if(nbpt!=0)
- {
- Ellipse(hdc,(int)(20*Data.points[etape].x + 249),(int)(20*Data.points[etape].y + 249),
- (int)(20*Data.points[etape].x + 251),(int)(20*Data.points[etape].y + 251));
- }
- EndPaint (hWnd, &ps);
- break;
- default:
- return (DefWindowProc(hWnd, message, wParam, lParam));
- }
- return (0);
- }
|
|