Paint- Funktion
-
Hallo zusammen!
Ich sitze gerade noch an einem C-Projekt als Windowsprogramm, in dem sich Punkte über den Bildschirm bewegen sollen. Ich soll hier die Timer- mit der Paint- Funtion kombinieren.
Um eine Beliebige Anzahl von Punkten mit den gleichen Bewegungsformeln darzustellen will ich je Timersignal eine for-schleife ablaufen lassen.
Jetzt mein Problem:
Am ende der for-schleife steht mein unterprogramm, das die werte in eine grafik umwandelt. allerdings bleibt im endeffekt nur das bild des letzten durchlaufs der for- schleife stehen. Wie kann ich denn verhindern, dass er bei jedem durchlauf des zeichen unterprogrammes den bildschirm erst löscht?Hier noch der Quelltext:
case WM_TIMER:
switch (wParam)
{
case IDT_TIMER1:t=t+0.1;
xa = (xbeschlt);
ya = (ybeschlt);for (i=1; i<=anzahl; i++)
{
xres = x[i]+xa;
start_xl_a[i] = start_xl_a[i]+xres;
start_xl[i] = round(start_xl_a[i]);yres = y[i]+ya;
start_yo_a[i] = start_yo_a[i]+yres;
start_yo[i] = round(start_yo_a[i]);zeichnen (hwnd, &start_xl[i] , &start_yo[i]);
}Zeichenprogramm:
BOOL zeichnen (HWND hwnd, int *start_xl, int *start_yo)//, int xr, int yo )
{
int ScreenColor;
int xl,yo;HDC hdc ;
PAINTSTRUCT ps ;
RECT Rect ;InvalidateRect (hwnd, NULL, TRUE) ;
hdc = BeginPaint (hwnd, &ps) ;
SetBkMode(hdc, TRANSPARENT);ScreenColor = RGB(0, 0, 255);
SelectBrush(hdc, CreateSolidBrush(ScreenColor));xl=*start_xl;
yo=*start_yo;Ellipse(hdc, (xl), (yo), (xl+8), (yo+8));
EndPaint (hwnd, &ps) ;
UpdateWindow(hwnd);
return 1;
}Vielen Dank schon im Vorraus, für eure Hilfe!
Christian
-
Das hat nix mit Ansi-C zu tun. Sondern mit der WinAPI.
-
und was ist winApi?
kann ich da irgendwo was dran drehen??
Vielen Dank schon im v******, für eure Hilfe!
sollte voraus (mit 2 r) heissen, keine ahnung warum der das gesternchent hat....
-
kann mir jemand ne Lösung zu meinem Problemchen geben oder hab ich nicht nur ein Problemche, sondern ein handfestes Problem? Ich wäre euch sehr dankbar!!
Ich schwitze
Christian
-
Wie gesagt, du bist hier im falschen Forum. Was du da schreibst ist WinAPI (Windows Application Programmers Interface). Das sind Funktionen, die dir Windows zur Verfügung stellt - z.B. um Fenster zu erstellen und darin zu zeichnen.
Es gibt hier auch ein Forum zur WinAPI - wenn du dort jemanden fragst (oder dich ein Mod verschiebt) bekommst du sicherlich schnell Hilfe.
Dein Programm ist ein WinAPI-Programm (ich schätze mal, du hast es nur irgendwo abgetippt - sonst wüsstest du das). Das hat nichts mit ANSI C oder C++ Standard zu tun.
Und voraus, wir mit einem 'r' geschrieben deswegen wird es "gesternchend".
-
Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
edit: habe gerade zweiten thread gesehen.