Probleme beim Darstellen von DrawRoutinen
-
Hi,
ich würd gerne in einem Dialog auf das IDC_OPENGLPROGRESS Item manuell etwas drauf zeichnen. Ich hab da auch schon ein paar sachen gefunden, nur tut sich da einfach nix.
Hier mal der Code der nüscht tut, vielleicht fällt ja jemanden was auf.
CPaintDC tDc( &m_ctrlGlProgress ) ; CRect rect1 ; CBrush myBrush; CPen GatePen(PS_SOLID,2,RGB(55,100,99)); CPen TrPen(PS_SOLID,2,RGB(0,255,255)); CPen AvPen(PS_SOLID,2,RGB(255,255,0)); myBrush.CreateSolidBrush(RGB(0,0,0)); tDc.SelectObject(&TrPen); m_ctrlGlProgress.GetClientRect( rect1 ) ; tDc.FillRect( &rect1, &myBrush ); tDc.FrameRect(&rect1, &CBrush(0xffffff)); tDc.DrawEdge( &rect1, EDGE_BUMP, BF_RECT); tDc.MoveTo( rect1.left,(rect1.bottom+rect1.top)/2) ; tDc.LineTo( rect1.right,(rect1.bottom+rect1.top)/2) ; tDc.MoveTo( (rect1.left+rect1.right)/2,rect1.top) ; tDc.LineTo( (rect1.left+rect1.right)/2,rect1.bottom) ;
-
1.) Wozu ein new?
2.) Ein PaintDC ist nur in OnPaint in Ordnung, das ist dir klar?
-
ok nu gehts endlich
danke für die Hilfe
-
Du musst es natürlich im OnPaint des Items machen!
-
wie gesagt nu gehts, hat auch im OnPaint drin nur, leider an der falschen stelle !?!?! typischer Fall von geistiger Umnachtung.
Nur hab ich aber ein anderen Problem, wenn ich zeichne, aktualisiert er erst die Oberfläche wenn ich den dialog minimiere und wieder maximiere bzw. wenn ich ein anderes Fenster drüberschieben und wieder weg tu.
-
hmm jetzt hab ich zwar am Wochenende ziemlich viel rumprobiert aber aktualisieren tut er das Feld immernoch net. Hat denn niemand eine Idee?
-
Hallo,
versuch es mal mit Invalidate() oder InvalidateRect()
Gruß Hagen