目的:绘制一个网格,同时在网格中又显示出一个Hello,world!字样,注意的是字样不能够被网格贯穿。
考察点:路径层的使用,如何让它们在两个不同的图层!
代码:
void CTest30View::OnDraw(CDC* pDC)
{
CTest30Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CString str("Hello,world!");
CSize sz = pDC->GetTextExtent(str);
pDC->TextOut(50,50,str);
pDC->BeginPath();
pDC->Rectangle(50,50,50+sz.cx,50+sz.cy);
pDC->EndPath();
pDC->SelectClipPath(RGN_DIFF);
for(int i = 0; i<200; i+=10)
{
pDC->MoveTo(0,i);
pDC->LineTo(200,i);
pDC->MoveTo(i,0);
pDC->LineTo(i,200);
}
}
函数(很多):
BeginPath:打开一个路径层。
EndPath:关闭一个路径层。
SelectClipPath:将当前路径层作为一个剪切区域,以一定的模式和新的区域组合。
Moveto:移动到那一个点。
LineTo:绘制一条直线到那一点为止。。
posted on 2010-02-21 20:51
deercoder 阅读(467)
评论(0) 编辑 收藏 引用 所属分类:
MFC程序设计入门