[ radacha @ 01.05.2005. 13:18 ] @
Zdravo svima, Nadam se da mi mozete pomoci. Problem: Trebalo bi kad pritisnem Button da se u glavnom prozoru pojavi image(bmp) i da se krece od tacke A do tacke B (recimo svakih 10ms da se pomeri za 1px). Ono sto sam ja dosad uspeo je: Code: .elseif uMsg == WM_COMMAND .if wParam == 500 invoke GetDC,hWnd mov hdc, eax invoke Paint_Proc,hWnd,hdc,1 invoke ReleaseDC,hWnd,hdc ret .endif Ovde pozivam Paint_Proc koja bi trebalo da iscrta to na ekranu Paint_Proc izgleda ovako: Code: Paint_Proc proc hWin:DWORD, hDC:DWORD, smer:DWORD LOCAL memDC:DWORD local hOld:DWORD LOCAL var1 :DWORD LOCAL var2 :DWORD LOCAL x :DWORD invoke CreateCompatibleDC,hDC mov memDC, eax invoke SelectObject,memDC,hBitmap2 mov hOld, eax .if smer == 1 mov var1, 0 mov x,600 .while var1 < 50 ; invoke BitBlt,hDC,x,10,40,40,memDC,0,0,SRCCOPY ; ----------------------- ; Simple delay technique ; ----------------------- invoke GetTickCount mov var2, eax add var2, 10 ; nominal milliseconds delay .while eax < var2 invoke GetTickCount .endw inc var1 dec x .endw .endif invoke SelectObject,hDC,hOld invoke DeleteDC,memDC ret Paint_Proc endp Problem je sto mi ovo iscrtava image pomerene za 1px, ali ne obrise onaj prethodni tako da izgleda kao da image ostavlja trag za sobom. Hvala vam unapred! |