006
08.07.2005, 14:49 Uhr
Antialc
|
Cool, jetzt gehts. Danke!!!
Hab mir jetzt eine Funktion ManipulatePaintSurface() geschrieben.
C++: |
void ManipulatePaintSurface(void) { BYTE *lpByteScreen; int i;
if (lpDPaint7->Lock(NULL, &DDPaintDesc2, DDLOCK_WAIT, NULL) == DD_OK) { //hier niemals einen Breakpoint platzieren oder mit dem Debugger hinein springen
//einen byte-Pointer auf die Adresse der Bilddaten setzen lpByteScreen = (BYTE*)DDPaintDesc2.lpSurface;
//die ersten 50 Byte im Screen mit 255 belegen: for (i=0;i<50;i++) { *lpByteScreen = 255; lpByteScreen++; } //Surface entsperren lpDPaint7->Unlock(NULL); } else MessageBox(NULL, "Konnte Zeichenfläche nicht sperren", NULL, MB_OK); }
|
DDPaintDesc2.lpSurface habe ich mal gecastet, da mir der Typ net gepasst hat. Ich weiss, dass man das nicht machen sollte (es schwachsin ist) aber immerhin, es geht. Bloß bekommen ich jetzt immer nach dem beenden des Progs eine Fehlermeldung wegen Speicherverletzung. -- Microsoft Visual C++.NET Version 7 |