[英]How to fill rectangle (c++, mfc)
I need to fill the part of "Rectangle"(diagonall filling) 我需要填写“矩形”部分(对角线填充)
(like on this image).
(例如这张图片)。 How to do it on mfc ?
如何在mfc上执行此操作? Sorry for my bad english!
对不起,我的英语不好!
void CKonokhovView::OnLButtonUp(UINT nFlags, CPoint point)
{
if (m_Dragging){
m_Dragging = 0;
::ReleaseCapture();
::ClipCursor(NULL);
CKonokhovDoc* pDoc = GetDocument();
CClientDC ClientDC(this);
CPen pen;
pen.CreatePen(PS_SOLID, 1, pDoc->docColor);
ClientDC.SelectObject(&pen);
ClientDC.SetROP2(R2_NOT);
ClientDC.Rectangle(m_PointOrigin.x, m_PointOrigin.y, m_PointOld.x, m_PointOld.y);
ClientDC.SetROP2(R2_COPYPEN);
CBrush* oldBrush = ClientDC.SelectObject(&nullBrush);
ClientDC.Rectangle(m_PointOrigin.x, m_PointOrigin.y, point.x, point.y);
pDoc->AddLine(m_PointOrigin.x, m_PointOrigin.y, point.x, point.y);
ClientDC.SelectObject(&oldBrush);
}
You can use CDC::Polygon , which is a wrapper for Polygon API 您可以使用CDC :: Polygon ,它是Polygon API的包装器
Example: 例:
CRect rc(0, 0, 100, 100);
CPoint points[3];
points[0] = CPoint(rc.left, rc.top);
points[1] = CPoint(rc.right, rc.top);
points[2] = CPoint(rc.left, rc.bottom);
ClientDC.Polygon(points, 3);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.