Rectangle() - mehrere "Zeilen" aus Rechtecken untereinander



  • Hi zusammen

    Ich habe ein Problem mit der Rectangle()-Funktion
    Hier mein Code:

    int startX = 0;
    	int startY = 0;
    	PAINTSTRUCT ps;
    	HDC hdc;
    
    case WM_PAINT:
             hdc = BeginPaint(hwnd, &ps);
    	SelectObject(hdc, GetStockObject(BLACK_BRUSH));
    	for (startY; startY < 400; startY += 100)
    	{
    		for (startX; startX < 400; startX += 100)
    		{
    		Rectangle(hdc, startX, startY, startX + 50, startY + 50);
    		}
    	}
    	EndPaint(hwnd, &ps);
    	break;
    

    Der Code sollte doch eigentlich vier "Zeilen" aus schwarzen Quadraten auf meinem (weissen) Hintergrund zeichnen, was in vier schwarzen "Streifen" mit jeweils 50 Pixeln Abstand dazwischen resultieren würde....

    Ich kriege jedoch nur eine Zeile...
    Kann mir jemand sagen, warum?



  • Ja! Um drei Rechtecke zu zeichnen brauchst Du nur eine for-Schleife für die vertikalen Koordinaten. Die horizontalen Koordinaten bleiben gleich. Kann so schwer nicht sein!



  • Der Feholer liegt in der 2ten for-schleife, dort wird startX nicht auf den
    Anfangswert gesetzt, bleibt also mit Sicherheit auf 400. Also zeichnet er ab
    dem 2ten Durchlauf der startY-Schleife nicht mehr ... 🙂


Anmelden zum Antworten