OnDraw
-
HI
Ich versuche ien koordinatensystem zu zeichnen aber es funktioniert leider nicht.
Die Definition des Zeichenbereiches:
void CMdipgenView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo) { // TODO: Add your specialized code here and/or call the base class CRect clientRect; pDC->SetMapMode (MM_ISOTROPIC); pDC->SetWindowExt (13600, -10600); pDC->SetWindowOrg (-300, 10300); pDC->SetViewportExt (clientRect.right-clientRect.left, clientRect.bottom-clientRect.top); pDC->SetViewportOrg (0, 0); CView::OnPrepareDC(pDC, pInfo); }und das zeichnen selber:
void CMdipgenView::OnDraw(CDC* pDC) { CMdipgenDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); CPen achsenPen (PS_SOLID, 1,RGB(0, 0, 0)); CPen *pOldPen; //Zeichnen der Achsen + Pfeilen pOldPen = pDC->SelectObject (&achsenPen); pDC->MoveTo(0,10000); pDC->LineTo(0,0); pDC->LineTo(10000,0); pDC->SelectObject (pOldPen); }Wo ist da der Hund begraben??
-
Gegenfrage: Wie äußert sich diese "funktioniert nicht"?
-
Es wir nichts gezeichnet die Zeichenfläche ist leer.
-
Ich vermute mal dein clientRect zeigt ins Nirvana. Ich sehe nirgends eine Initialisierung dessen.
clientRect.SetRect(0,0,1000,1000);
KÖNNTE helen.
-
CRect clientRect; this->GetClientRect(clientRect);Könnte auch helfen...
Gruß
-
danke
get Client Rect war die Lösung.
Hatte ich vergessen.