000
12.10.2003, 13:05 Uhr
~Slayer
Gast
|
Hallo ich hab mal wieder ne andere Frage: Ich will eine berechnete Kurve abtasten dazu hab ich folgenden Code in OnKeyDown geschrieben:
C/C++ Code: CTest2Doc *pDoc = GetDocument(); CRect rect; GetClientRect(rect); CClientDC dc(this); dc.SetViewportOrg(rect.Width()/2,rect.Height()/2); CPoint *point = new CPoint(); if(nChar == VK_LEFT) { pos--; point->x = pos; point->y = int(-pDoc->CalcY(float(pos))); ClientToScreen(point); SetCursorPos(point->x, point->y); } if(nChar == VK_RIGHT) { pos++; point->x = pos; point->y = int(-pDoc->CalcY(float(pos))); ClientToScreen(point); SetCursorPos(point->x, point->y); } CView::OnKeyDown(nChar, nRepCnt, nFlags); C/C++ Code: ...................................................................................................
SetViewportOrg (auch wenn ich die Anzahl der log. Einheiten und Pixel verändere bringt es nichts) hat überhaupt keine Auswirkungen die Abtastung beginnt irgendwo am Rand(an den von CalcY berechneten Werten liegt es nicht). Wieso funktioniert das nicht? Hat es vielleicht etwas mit ClientToScreen zu tun? Ich hab nämlich keine Ahnung! |