Problem mit der Funktion Polyline (WinApi, C++)
-
Guten abend,
ich schlag mich mit der Funktion Polyline rum..Ich berechne eine Sinusspannung:
int count = 0; while(count < 400) { u = U * sin(pix); sinko[count].x = count; sinko[count].y = u; //Funktion zum zeichnen der Kurve draw.DrawCur(hwnd, ps, hDC, sinko, pix); count++; pix = pix + 2,2; }Irgendwie so wollt ich die dann aufrufen:
void Graph::DrawCur(HWND hwnd, PAINTSTRUCT &ps, HDC hDC, POINT sinko, int pix) { hDC = BeginPaint(hwnd, &ps); { Polyline(hDC, sinko, 400); } EndPaint(hwnd, &ps); }Aber irgendwas passt nicht, passt überhaupt nicht!!!!
was muss ich als dritten Parameter an Polyline¨übergeben??
doch die länge der ganzen Kurve, oder?danke schonmal
-
Hast du dir die Funktion jemals in der MSDN angeschaut? Ich bezweifle es ja ...
Hol dies bitte jetzt nach, dann hat sich deine Frage auch erledigt. Und die nächste auch gleich
-
Ich nehme mal an, du hast sinko als POINT-Array deklariert.
Bei DrawCur hast du jetzt aber fälschlicherweise in der Parameter-Signatur angegeben, dass ein einzelnen POINT übergeben werden soll - du willst aber einen Pointer übergeben (was du auch machst). Als nächstes rufst du DrawCur in jedem Durchlauf auf. Wenn du jedoch das ganze über Polyline machst musst / solltest du es nur einmal nach der Schleife aufrufen. Des weiteren darfst du BeginPaint/EndPaint nur in WM_PAINT verwenden - wenn du den Code dort stehen hat, ist es OK, sonst solltest du dein Programm umstrukturieren, da Zeichenoperationen (auf den Bildschirm) nach WM_PAINT gehören