Warum hat SetViewportOrg keine Auswirkungen?
-
Hallo ich hab mal wieder ne andere Frage:
Ich will eine berechnete Kurve abtasten dazu hab ich folgenden Code in OnKeyDown geschrieben: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);SetViewportOrg 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!
-
Ach ja, und wenn ich den Abbildungsmodus auf (An)Isotropic ändere und die Anzahl der logischen Einheiten und der Pixel verändere hat das auch keine Auswirkungen!