本文整理汇总了C++中CPaintDC::SetBkColor方法的典型用法代码示例。如果您正苦于以下问题:C++ CPaintDC::SetBkColor方法的具体用法?C++ CPaintDC::SetBkColor怎么用?C++ CPaintDC::SetBkColor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPaintDC
的用法示例。
在下文中一共展示了CPaintDC::SetBkColor方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawTextImpl
void CSeparator::DrawTextImpl(CPaintDC &dc, CString text, CRect clientRect)
{
auto &g = Globals::Instance();
HFONT hOldFont = dc.SelectFont(g.sep.font);
dc.SetTextColor(g.sep.textColor);
dc.SetBkColor(g.bkColor);
const int margin = 0;
CSize textSize;
dc.GetTextExtent(text, -1, &textSize);
CRect textRect(clientRect);
textRect.left = margin;
textRect.right = textRect.left + textSize.cx + 2 * 3;
dc.FillSolidRect(textRect, g.bkColor);
textRect.InflateRect(-3, 0);
dc.DrawText(text, -1, textRect, DT_VCENTER | DT_CENTER | DT_SINGLELINE);
dc.SelectFont(hOldFont);
}
示例2: DrawEmptyView
void PreviousImagesView::DrawEmptyView(CPaintDC& dc)
{
DWORD dwColor = ::GetSysColor(COLOR_APPWORKSPACE);
dc.FillSolidRect(&dc.m_ps.rcPaint, dwColor);
// output "no image" string
CRect rcClient;
GetClientRect(&rcClient);
HFONT oldFont = dc.SelectFont(GetFont());
dc.SetBkColor(dwColor);
dc.SetTextColor(GetSysColor(COLOR_WINDOWTEXT));
CString cszText = m_manager.ImagesAvail() ? _T("<Loading image...>") : _T("<No images available>");
// add DT_SINGLELINE to center both vertically and horizontally
dc.DrawText(cszText, cszText.GetLength(), rcClient, DT_CENTER | DT_VCENTER | DT_SINGLELINE);
dc.SelectFont(oldFont);
}
示例3: OnPaint
//.........这里部分代码省略.........
GetClientRect (rect);
rect.DeflateRect (5, 5, 5, 5);
if (pDoc->m_pStyle != NULL)
{
CCdCoverCreator2View* pView = (CCdCoverCreator2View*) pChild->GetActiveView ();
if (pView == NULL)
goto __end;
int nHeight = (rect.Width () / 5) * 4;
CRenderDC rdc (&dc, nHeight, pView->GetDocument ()->m_pStyle);
m_y[Cover] = 5;
m_y[Back] = m_y[Cover] + rdc.GetHeight (Cover) + 10;
m_y[Inlay] = m_y[Back] + rdc.GetHeight (Back) + 10;
m_y[Label] = m_y[Inlay] + rdc.GetHeight (Inlay) + 10;
m_y[Booklet] = m_y[Label] + rdc.GetHeight (Label) + 10;
if (m_bRedraw)
{
CLabelRenderer renderer (pDoc->m_pTracks, pDoc->m_pDataCDInfo,
reinterpret_cast<CBackgroundInfo**> (&(pDoc->m_pBackground)),
pDoc->m_listFloatingObjects, *(pDoc->m_pStyle));
for (int i = 0; i < NUM_RENDER_TYPES - 1; i++)
{
if ((RenderType) i == Booklet)
continue;
CRect rectBmp (0, 0, rdc.GetWidth ((RenderType) i) + 5, /*nHeight*/(m_y[i + 1] - m_y[i]) + 5);
m_Bitmap[i].DeleteObject ();
m_Bitmap[i].CreateCompatibleBitmap (&dc, rectBmp.right, rectBmp.bottom);
// render
dcMem.SelectObject (&m_Bitmap[i]);
dcMem.FillRect (rectBmp, &brush);
renderer.Render (CRenderDC (&dcMem, nHeight, pDoc->m_pStyle), (RenderType) i, true);
}
m_bRedraw = false;
}
// draw the bitmaps
int x[] = {
(rect.Width () - rdc.GetWidth (Cover)) / 2 + 5,
(rect.Width () - rdc.GetWidth (Back)) / 2 + 5,
(rect.Width () - rdc.GetWidth (Inlay)) / 2 + 5,
(rect.Width () - rdc.GetWidth (Label)) / 2 + 5,
(rect.Width () - rdc.GetWidth (Cover)) / 2 + 5
};
dc.SetViewportOrg (x[Booklet], m_y[Booklet]);
DrawBooklet (&dc, rdc.GetWidth (Cover), rdc.GetWidth (Cover) / 2, pDoc, pView->GetRenderType ());
dc.SetViewportOrg (0, 0);
CBrush* pOldBrush = dc.GetCurrentBrush ();
for (int i = 0; i < NUM_RENDER_TYPES; i++)
{
CRect rectArea (rect.left, m_y[i], rect.right,
m_y[i] + ((RenderType) i == Booklet ? rdc.GetWidth (Cover) / 2 : rdc.GetHeight ((RenderType) i)));
if ((RenderType) i != Booklet)
{
dcMem.SelectObject (m_Bitmap[i]);
if (pDoc->m_pStyle->m_bHasRenderType[i])
dc.SelectStockObject (WHITE_BRUSH);
else
{
dc.SetTextColor (RGB (0xff, 0xff, 0xff));
dc.SetBkColor (RGB (0x7f, 0x7f, 0x7f));
dc.SelectObject (dc.GetHalftoneBrush ());
}
//dc.BitBlt (x[i], m_y[i], rdc.GetWidth ((RenderType) i) + 5, /*nHeight*/(m_y[i + 1] - m_y[i]) + 5, &dcMem, 0, 0, MERGECOPY);
dc.BitBlt (x[i], m_y[i], rectArea.Width (), rectArea.Height () + 4, &dcMem, 0, 0, MERGECOPY);
}
// marker
Mark (&dc, rectArea, pView->GetRenderType () != (RenderType) i);
}
dc.SelectObject (pOldBrush);
}
__end:
#ifdef PEROUTKA_FEDORISIN
CBitmap* pOldBmp = (CBitmap*) dcMem.SelectObject (m_bmpLogo);
dc.FillSolidRect (0, r.bottom - 32, 148, 32, RGB (0xff, 0xff, 0xff));
dc.BitBlt ((148 - 80) / 2, r.bottom - 32, 80, 32, &dcMem, 0, 0, SRCCOPY);
// dcMem.SelectObject (pOldBmp);
#endif
dcMem.DeleteDC ();
brush.DeleteObject ();
}