void RightTabs::Paint(Draw& w) { Size sz = GetSize(); w.DrawRect(sz, Blend(SColorFace, SColorPaper)); Color hc = Blend(Yellow, LtRed, 100); Color inactive = Blend(SColorPaper, SColorShadow); for(int i = 0; i < tab.GetCount(); i++) { Tab& t = tab[i]; if(i != cursor) PaintTab(w, 0, t.y + 2, cx - 1, t.GetHeight() - 1, inactive, t.img, i == hl ? hc : Null); } if(cursor >= 0) { Tab& t = tab[cursor]; PaintTab(w, 0, t.y, cx, t.GetHeight() + 3, SColorPaper, t.img, cursor == hl ? hc : Null); } }
void CMonitorBarCtrl::DoPaint(CDC* pDC) { CRect rcClient; GetClientRect( &rcClient ); CSize size = rcClient.Size(); CDC* pMemDC = CoolInterface.GetBuffer( *pDC, size ); if ( Settings.General.LanguageRTL ) SetLayout( pMemDC->m_hDC, 0 ); if ( ! CoolInterface.DrawWatermark( pMemDC, &rcClient, &m_bmWatermark ) ) pMemDC->FillSolidRect( &rcClient, CoolInterface.m_crMidtone ); if ( Skin.m_bBordersEnabled ) DrawBorders( pMemDC, rcClient ); else rcClient.DeflateRect( 2, 3, 2, 1 ); for ( int nY = rcClient.top + 4 ; nY < rcClient.bottom - 4 ; nY += 2 ) { pMemDC->Draw3dRect( rcClient.left + 3, nY, 4, 1, CoolInterface.m_crDisabled, CoolInterface.m_crDisabled ); } DrawIconEx( pMemDC->GetSafeHdc(), rcClient.right - 16, rcClient.bottom - 16, m_hUpDown, 16, 16, 0, NULL, DI_NORMAL ); m_pTxItem->SetHistory( rcClient.Width(), TRUE ); m_pRxItem->SetHistory( rcClient.Width(), TRUE ); CRect rcHistory( rcClient.left + 10, rcClient.top + 2, rcClient.right - 15, rcClient.bottom - 6 ); PaintHistory( pMemDC, &rcHistory ); CRect rcCurrent( rcClient.right - 7, rcClient.top + 2, rcClient.right - 2, rcClient.bottom - 6 ); PaintCurrent( pMemDC, &rcCurrent, m_pRxItem ); rcCurrent.OffsetRect( -6, 0 ); PaintCurrent( pMemDC, &rcCurrent, m_pTxItem ); m_rcTrack.SetRect( rcClient.left + 6, rcClient.bottom - 8, rcClient.right, rcClient.bottom - 2 ); PaintTab( pMemDC ); GetClientRect( &rcClient ); pDC->BitBlt( rcClient.left, rcClient.top, rcClient.Width(), rcClient.Height(), pMemDC, 0, 0, SRCCOPY ); if ( Settings.General.LanguageRTL ) SetLayout( pMemDC->m_hDC, LAYOUT_RTL ); }