MFC中的矩形
Rectangle in MFC
本文关键字:MFC 更新时间:2023-10-16
我尝试在mfc窗口上绘制一个矩形,使用指令:http://msdn.microsoft.com/en-US/library/8w4fzfxf%28v=VS.80%29.aspx。尽管我尝试了很多,矩形还是出现在窗口的边缘,覆盖了整个窗口。以下代码在函数OnDraw(CDC* pDC)中的问题是什么?如何在窗口中绘制具有特定坐标的矩形?
CPen penBlack;
penBlack.CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
CPen* pOldPen = pDC->SelectObject(&penBlack);
CPoint pt(10, 10);
CSize sz(100, 50);
CRect myRect(pt, sz);
GetClientRect(&myRect);
pDC->Rectangle(&myRect);
取消对GetClientRect
的呼叫
该函数将写入传递给它的矩形对象,因此通过调用,您将覆盖您在使用pt
和sz
调用之前设置的特定坐标。
正如@stakx建议的,您应该删除GetClientRect
,它获得整个窗口客户端区域,并覆盖您自己的矩形。
对于指令,它首先获得整个客户端区域,并缩小矩形以获得要绘制的矩形,因此这里需要GetClientRect
。
这个站点将帮助您在基于mfc对话框的应用程序中绘制矩形。
http://cboard.cprogramming.com/windows-programming/37788-drawing-mfc.html http://cboard.cprogramming.com/cplusplus-programming/102490-cplusplus-mfc-rectangle-class.html不要使用GetClientRect()。它会覆盖你之前的坐标
相关文章:
- 没有找到相关文章