Einzelnen Beitrag anzeigen
Ungelesen 26.06.11, 13:55   #4
CJ3
Newbie
 
Registriert seit: Feb 2010
Beiträge: 66
Bedankt: 34
CJ3 gewöhnt sich langsam dran | 36 Respekt Punkte
Standard

Okay, ich habe jetzt am Anfang zwei bool´sche Variablen "pressedL" und "pressedR" mit "False" initalisiert, deinen Code kopiert, ging leider nicht.

Code:
case WM_KEYDOWN:
      {
         switch (wParam)
         {
         case VK_RIGHT:
              if (!pressedR) {++iX; InvalidateRect(hwnd, NULL, TRUE);}
              break;
         //hier sollte noch die Abfrage für die linke Maustaste hin
         default:
            return 0;
         }
         InvalidateRect(hwnd, NULL, FALSE);
         return 0;
      }
Muss hier nicht auch noch hin, dass wenn VK_RIGHT gedrückt wurde, "pressedR" auf "true" springt? Ging aber auch nicht.



@Pillewutz
Ich weiß, dass ich Methoden verwenden sollte, diese wollte ich dann bei WM_PAINT verwenden, da dort verdammt viel Text und so rein muss.
Problem ist nur, dass wenn ich ganz unten eine draw()-Funktion machen will, es hwnd nicht mehr kennt...

Ich habe nun probiert ++iX mit einer for-Schleife

WM_KEYDOWN:
VK_RIGHT:
for(iXold = iX; iX<iXold + 1; iX++)

berechnen zu lassen und habe danach nochmal das Verhalten von iX mir angeschaut, das Ergebnis: bei int geht iX auf 1 und danach nicht weiter, bei long double blieb iX auf 0

EDIT:
Ich hab keine Ahnung warum aber auf einmal geht es super mit
iX++; InvalidateRect(hwnd, NULL, TRUE);

Danke für eure hilfe kann geschlossen werden =D
__________________
Es gehört zum Anstand, sich zu bedanken, wenn einem geholfen wurde, also danke liebe Gullianer c:
CJ3 ist offline   Mit Zitat antworten