随笔-145  评论-173  文章-70  trackbacks-0
目的:绘制一个网格,同时在网格中又显示出一个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 阅读(452) 评论(0)  编辑 收藏 引用 所属分类: MFC程序设计入门

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理