ChartDiagramm und Textout
-
void ChartDlg::DrawDisplay(CDC *pDC) { //------------------------------------------------------------------+ // Original Pen und Font sollten nicht verloren werden. ! //------------------------------------------------------------------+ CPen *oldPen; // CFont *oldFont; int totaltime=m_ptr->test; int totalminute=m_ptr->diff_time.GetMinutes(); //------------------------------------------------------------------+ // Pens ! //------------------------------------------------------------------+ CPen PenLin1(PS_SOLID,1,RGB(255,0,0)); // rot //------------------------------------------------------------------+ // Fonts ! //------------------------------------------------------------------+ // CFont Font1; // Font1.CreateFont(20, 0, 0, 0, FW_BOLD, FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, // CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Arial"); //------------------------------------------------------------------+ // Zuerst Pen wählen, damit der originalPen gespeichert wird ! //------------------------------------------------------------------+ oldPen = pDC->SelectObject(&PenLin1); // oldFont = (CFont*)pDC->SelectObject(&Font1); CRect rect(90,90,300,300); //Zeichenfläche CPoint center(static_cast<int>((rect.right-rect.left)/2+rect.left), static_cast<int>((rect.bottom-rect.top)/2+rect.top)); int radius = (rect.right-rect.left)/2; int tSchlaf =4 , tWach = 10; int tGes = tSchlaf + tWach; COLORREF r = RGB(255,0,0), g = RGB(0,255,0), b = RGB(0,0,255), sw= RGB(0,0,0); CBrush RedBrush(r); CBrush BlueBrush(b); CBrush GreenBrush(g); // CPen FatPen(PS_SOLID, 3, sw); // pDC->SelectObject(&FatPen); //Hintergrund //pDC->FillSolidRect(rect, b); //Kreis zeichnen pDC->SelectObject(&GreenBrush); // pDC->TextOut(300,300,"totalminute"); pDC->TextOut(325,300,totalminute);//->Diese Wert kann ich nicht sehen pDC->Ellipse(rect); //erster Teilstrich von Mitte nach oben pDC->MoveTo(center); pDC->LineTo(center.x, center.y-radius); //Schlafzeit einzeichnen double winkel = tSchlaf*(2*M_PI/tGes); //winkel in ° pDC->MoveTo(center); pDC->LineTo(center.x + sin(winkel)*radius, center.y - cos(winkel)*radius); //Fläche einfärben pDC->SelectObject(&RedBrush); pDC->ExtFloodFill(200, 200, g,FLOODFILLSURFACE); }
Hallo ,
Mit mein Code zeichne ich ein Kreisdiagramm und darauf will ich paar werte und messungen anzeigen.
Bei der 50.Zeile habe ich versucht ein Wert auszugeben aber leider ,ich sehe keinen Wert sondern ne Komische eckige klammer.
kann mir bitte jemand helfen.
MfG
-
totalminute ist doch ein int, aber Textout kann nun mal nur Text ausgeben. Also totalminute in Text konvertieren und dann sollte das gehen
CString stotalminute; stotalminute.Format(_T("%d"),totalminute); pDC->TextOut(325,300,stotalminute);