void CInfoWindow::OnPaint() { CBrush YellowBrush(RGB(255,255,0)); CPaintDC dc(this); // device context for painting GetClientRect(&rcc); CFont *pOldFont=dc.SelectObject(CFont::FromHandle((HFONT)GetStockObject(ANSI_VAR_FONT))); dc.FillRect(&rcc, &YellowBrush); dc.SetBkMode(TRANSPARENT); dc.DrawText(sText,&rcc,DT_LEFT|DT_SINGLELINE); dc.SelectObject(pOldFont); }
void CPage_Node_Phase::DrawPhaseGreenTimeBand(CPaintDC* pDC,CRect PlotRect, int CycleLength, float PhaseStartTime,float PhaseEndTime, float Yellow, float AllRed ) { CBrush GreenBrush(RGB(0,255,0)); CBrush YellowBrush(RGB(255,255,0)); pDC->SetBkMode(TRANSPARENT); pDC->SelectObject(&GreenBrush); float width = PlotRect.Width (); float GreenEndTime = PhaseEndTime - AllRed - Yellow; CRect PlotRectNew = PlotRect; PlotRectNew.left = PlotRect.left + PhaseStartTime/CycleLength * width; PlotRectNew.right = PlotRect.left + GreenEndTime/CycleLength *width; pDC->Rectangle (PlotRectNew); CString str; str.Format("P%d [%.1f s]",m_SelectedPhaseNumber,PhaseEndTime - PhaseStartTime ); pDC->TextOutA(PlotRectNew.left+5,PlotRectNew.top +5,str); // yellow block pDC->SelectObject(&YellowBrush); PlotRectNew.left = PlotRectNew.right; // next to previous green block PlotRectNew.right = PlotRectNew.left + Yellow/CycleLength *width; pDC->Rectangle (PlotRectNew); }