MFC Windows 程序设计(6)

 
画直线和曲线
 
MoveTo设定当前位置
LineTo 从当前位置画一条直线到指定位置
PolyLine 将一系列的点用线段连接起来
PolyLineTo 从当前位置开始将一系列的点用线段连接起来,并将当前位置移动到折线的终点。
Arc 画一个圆弧
ArcTo 画一个圆弧并将当前位置移动到弧的终点
PolyBezier 画一条或多条贝塞尔样式曲线
PolyBezierTo 画一条或多条贝塞尔样式曲线,并将当前位置移动到最后一条曲线的终点
PolyDraw 通过一组点画一系列线段和贝塞尔曲线,并将当前位置一道最后一个线段或曲线的终点。
 
       pDC->MoveTo(20,20);
       pDC->LineTo(20,40);
       pDC->LineTo(40,40);
       pDC->LineTo(40,20);
       pDC->LineTo(20,20);
 
POINT aPoint[5]={50,30,60,72,46,67,74,23,24,67};
       dc.PolylineTo(aPoint,5);
 
 
       POINT aPoint1[4]={120,100,120,200,250,150,500,40};
       POINT aPoint2[4]={120,100,50,350,250,200,500,40};
       dc.PolyBezier(aPoint1,4);
       dc.PolyBezier(aPoint2,4);
 
//无边框的矩形
       dc.FillSolidRect(0,0,10,10,RGB(190,190,190));
       dc.FillSolidRect(10,0,20,10,RGB(190,190,190));
 
Chord 画一个由直线和椭圆相交后围成的封闭图形
//0,0,200,200 直线 0,0,200,200 椭圆所在区域
       dc.Chord(0,0,200,200,0,0,200,200);
 
 
获得椭圆指定角度的坐标
POINT CMfctestView::GetArcPoint(LPCRECT lpRect, double angle)
{
       long a = abs((lpRect->right-lpRect->left)/2);
       long b = abs((lpRect->bottom-lpRect->top)/2);
       double radio;
       POINT pt;
       radio=(a*b)*1.0/sqrt((sin(angle)*sin(angle))*(a*a)+(cos(angle)*cos(angle))*(b*b));
       long dx,dy;
       double ax=cos(angle*(3.1415926/180));
       double ay=sin(angle*(3.1415926/180));
       dx=(long)(radio*ax);
       dy=(long)(radio*ay);
       pt.x=lpRect->left+a+dx;
       pt.y=lpRect->top+b+dy;
       return pt;
}
使用
       CRect rcs(0,0,500,300);
       dc.Arc(&rcs,GetArcPoint(&rcs,0),GetArcPoint(&rcs,270));
Ellipse 画一个圆或椭圆
Pie 画一个饼状的楔形物
dc.Pie(&rcs,GetArcPoint(&rcs,0),GetArcPoint(&rcs,270));
 
Polygon 连接一组点形成一个多边形
 
//画一个6边形
       POINT aPoint[6]={200,200,500,200,500,300,400,300,400,500,200,500};
       dc.Polygon(aPoint,6);
//画一个灰色的6边形
CRgn cr;
       cr.CreatePolygonRgn(aPoint,6,ALTERNATE);
       CBrush mbrush(RGB(192,192,192));
       dc.FillRgn(&cr,&mbrush);
 
Rectangle 画一个带直角的矩形
 
RoundRect 画一个带圆角的矩形
POINT pt;
       pt.x=20;
       pt.y=20;
       dc.RoundRect(&rcs,pt);
SetViewportOrg 设置坐标原点
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "MFC Windows程序设计"是一本非常经典的MFC(Microsoft Foundation Classes)框架的Windows程序设计教材,提供了一套完整的学习和实践的指导。在这本书中,读者可以学习到关于MFC框架的重要概念和基础知识,以及如何利用MFC进行Windows应用程序的开发。 这本书的PDF版本带有书签功能,这是一项非常实用和方便的功能。书签功能可以帮助读者快速定位到所需的章节、节或特定的内容。当读者打开这本书的PDF时,可以通过点击书签列表中的各个项,快速跳转到相应的位置。 这本书的书签功能的应用范围非常广泛。对于初学者而言,可以通过书签直接跳转到所感兴趣的概念、代码示例或问题解答。对于具有一定经验的开发者来说,书签功能可以帮助他们快速检索和回顾需要的知识点,提高开发效率。 除了方便的定位功能之外,这本书的PDF版本还提供了一些其他的特点。比如,书签可以根据读者的需要自定义,并且可以添加和删除书签项。此外,书签的显示方式也可以调整,比如可以以树形结构或平铺视图的方式显示书签列表。 总的来说,带有书签的"MFC Windows程序设计" PDF版本是一份非常方便的学习和参考资料,它通过书签功能提供了便捷的导航和获取所需信息的途径,使得读者能够更加高效地学习和应用MFC框架进行Windows程序开发。 ### 回答2: MFC(Microsoft Foundation Classes)是一种Microsoft Windows平台上的编程框架,用于开发图形用户界面(GUI)应用程序。MFC提供了一系列的函数,以及许多常用的控件,使得开发者能够更容易地创建Windows操作系统上的应用程序。 MFC Windows程序设计PDF带书签的意思是,希望找到一本关于MFC Windows程序设计的电子书,并且该电子书拥有书签功能。 对于这个需求,可以在互联网上搜索MFC Windows程序设计的相关电子书。一些常见的电子书网站,如豆瓣读书、知网、百度文库等,往往会提供PDF格式的电子书下载服务。用户可以根据关键词搜索“MFC Windows程序设计PDF”,然后在搜索结果中查找带有书签功能的电子书。 选择电子书时,可以根据自己的需要和水平选择合适的难度和内容的图书。一些经典的MFC Windows程序设计书籍,如《MFC窗口程序设计经典实例》、《MFC程序设计实例解析与经典源码》等,不仅介绍了MFC的基本概念和使用方法,还提供了实例代码供读者参考和学习。 一旦找到合适的电子书,可以下载到本地计算机的硬盘上,并使用支持书签功能的PDF阅读器打开。在阅读器中,用户可以利用书签功能,将自己常用或感兴趣的章节添加为书签,以便于日后查找和阅读。 总之,要找到一本MFC Windows程序设计的PDF电子书,并使其带有书签功能,用户可以在网上搜索并选择一本合适的电子书,然后下载到本地并使用支持书签功能的PDF阅读器进行阅读。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值