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 |