本文整理汇总了C++中TDC::GetClipRgn方法的典型用法代码示例。如果您正苦于以下问题:C++ TDC::GetClipRgn方法的具体用法?C++ TDC::GetClipRgn怎么用?C++ TDC::GetClipRgn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TDC
的用法示例。
在下文中一共展示了TDC::GetClipRgn方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
//
/// Called by Paint to repaint all of the gadgets, PaintGadgets iterates through the
/// list of gadgets, determines the gadget's area, and repaints each gadget.
///
/// You can override this function to implement a specific look (for example,
/// separator line, raised, and so on).
//
void
TGadgetWindow::PaintGadgets(TDC& dc, bool, TRect& rect)
{
TPoint viewport = dc.GetViewportOrg();
for (TGadget* gadget = Gadgets; gadget; gadget = gadget->Next) {
if (gadget->GetBounds().Touches(rect)) {
dc.SetViewportOrg((TPoint&)gadget->GetBounds());
// If the gadget is a sloppy painter & needs clipping support, set the
// clip rect before painting, otherwise just paint. Most gadgets don't
// need this help
//
if (gadget->Clip) {
TRegion savedClipRgn;
dc.GetClipRgn(savedClipRgn);
dc.IntersectClipRect(gadget->GetBounds());
gadget->Paint(dc);
dc.SelectClipRgn(savedClipRgn);
}
else
gadget->Paint(dc);
}
}
dc.SetViewportOrg(viewport);
}