Ellipse ohne Brush
-
Moin,
ich möchte einen Kreis zeichnen mittels CDC::Ellipse. Hierbei wird der zuletzt eingestellte Brush verwendet. Wie kann ich nun aber einen Kreis zeichnen ohne Füllung?
-
// wegedit wegen bloedsinn #gg
// hinedit
// aus meinen QT zusammengestuetzeltPAINTSTRUCT ps; HDC hDC = BeginPaint(m_MainWindow, &ps); ::SetBkMode(hDC, TRANSPARENT); HPEN hPen = ::CreatePen(...); ::SelectObject(hDC, hPen); ::Ellipse(hDC, 10, 10, 20, 20); ::DeleteObject(hPen); EndPaint(m_MainWindow, &ps);
-
Hinter dem zu zeichnenden Kreis liegt ein Foto, welches im Kreisinneren weiterhin sichtbar bleiben soll.
-
Mein Kontext sieht folgendermaßen aus:
void MMFC2dView::OnPaint(){ if (!m_bNoRepaint){ CPaintDC dc(this); ... dc.MoveTo(x,y); dc.Ellipse(x-r, y-r, x+r,y+r ); ...Wie kann ich nun erreichen, dass die Ellipse nicht mit gefüllt wird???
-
Genau wie ich es oben beschrieb
void MMFC2dView::OnPaint(){ if (!m_bNoRepaint){ CPaintDC dc(this); ... dc.SetBkMode(TRANSPARENT) dc.MoveTo(x,y); dc.Ellipse(x-r, y-r, x+r,y+r ); ...evtl musst du noch den pen per hand setzen, aber glaub ich nicht
-
Bei mir wird der Kreis weiterhin gefüllt, trotz "dc.SetBkMode(TRANSPARENT);"