第五章 图形基础part4
来源:互联网 发布:韩国消费水平知乎 编辑:程序博客网 时间:2024/05/16 12:36
5.6矩形、区域和剪裁
矩形函数:
FillRect (hdc, &rect, hBrush) ;//用指定画刷来填入矩形
FrameRect (hdc, &rect, hBrush) ;//使用画刷画矩形框,但是不填入矩形
InvertRect (hdc, &rect) ;//将矩形中所有图素翻转,1转换成0,0转换为1,该函数将白色区域转变成黑色,黑色区域转变为白色,绿色区域转变成洋红色。
Windows还提供了9个函数, 使您可以更容易、 更清楚地操作RECT结构。
SetRect (&rect, xLeft, yTop, xRight, yBottom) ;
OffsetRect (&rect, x, y) ;//将矩形沿x轴和y轴移动几个单元
InflateRect (&rect, x, y) ; //将矩形沿x轴和y轴移动几个单元
SetRectEmpty (&rect) ; //矩形各字段设定为0
CopyRect (&DestRect, &SrcRect) ; //将矩形复制给另一个矩形
IntersectRect (&DestRect, &SrcRect1, &SrcRect2) ;//取得两个矩形的交集
UnionRect (&DestRect, &SrcRect1, &SrcRect2) ; //取得两个矩形的联集
bEmpty = IsRectEmpty (&rect) ;//确定矩形是否为空
bInRect = PtInRect (&rect, point) ;//确定点是否在矩形内
随机矩形:
PeekMessage (&msg, NULL, 0, 0, PM_REMOVE) ;四个参数(一个指向MSG结构的指针、一个窗口句柄、两个值指示消息范围)当队列中没有消息时,
PeekMessage传回FALSE(0) 。
如果要将消息从消息队列中删除,则将PeekMessage的最后一个参数设定为PM_REMOVE。如果您不希望删除消息,那么您可以将这个参数设定为PM_NOREMOVE
从队列中删除WM_PAINT消息的唯一方法是令窗口显示区域的失效区域变得有效。这就是为什么Peek_Message是「偷看」而不是「取得」的原因,它使得程序可以检查程序的队列中的下一个消息,而不实际删除它。
RANDRECT
建立和绘制剪裁区域:
剪裁区域是GDI对象,您应该呼叫DeleteObject来删除您所建立的剪裁区域。
1剪裁区域是矩形:hRgn = CreateRectRgn (xLeft, yTop, xRight, yBottom) ;或者是hRgn = CreateRectRgnIndirect (&rect);
2剪裁区域是圆角的矩形:hRgn = CreateEllipticRgn (xLeft, yTop, xRight, yBottom) ;或者是hRgn = CreateEllipticRgnIndirect (&rect) ;
3剪裁区域是多边形:hRgn = CreatePolygonRgn (&point, iCount, iPolyFillMode) ; point参数是一个POINT型态的结构数组,iCount是点的数目,
iPolyFillMode是ALTERNATE或者WINDING。
4.iRgnType = CombineRgn (hDestRgn, hSrcRgn1, hSrcRgn2, iCombine) ;这一函数将两个剪裁区域(hSrcRgn1和hSrcRgn2)组合起来并用句柄hDestRgn指
向组合成的剪裁区域。iCombine参数说明hSrcRgn1和hSrcRgn2如何组合
矩形与区域的剪裁:
区域也在剪裁中扮演了一个角色。InvalidateRect函数使显示的一个矩形区域失效,并产生一个WM_PAINT消息。通过呼叫GetUpdateRect来取得失效矩形的
坐标,并且可以使用ValidateRect函数使显示区域的矩形有效。
CLOVER程序:
- 第五章 图形基础part4
- 第五章 图形基础
- 第五章 图形基础part1
- 第五章 图形基础part2
- 第五章 图形基础part3
- windows程序设计第五章 图形基础
- 第五章--图形基础--设备内容(1)
- windows程序设计第五章图形基础学习笔记
- Excel在统计分析中的应用—第五章—统计指数-Part4- 综合指数(埃奇沃思指数)
- 【概念笔记】JAVA基础 - part4
- 第十一章 对话框part4
- part4
- C#发现之旅第五讲 图形开发基础篇
- 第五届蓝桥杯——基础练习:字母图形
- Excel VBA高效办公应用-第二章-Excel VBA编辑基础-Part4(VBA控制语句)
- 【第五届蓝桥杯】打印图形
- 第五章 基础算法 pending
- Java程序设计基础-第五章
- 日语零基础学习 【汇总】日语学习网站
- 关于oracle的表空间,分区表,以及索引的总结
- 算法作业方案
- 大学课程视频教程网址收集
- 领测软件测试网第六次高端软件测试沙龙
- 第五章 图形基础part4
- 是我的乐趣
- “实战式”拜读《Oracle 9i&10g 编程艺术》——分区
- MTK开发环境build出错
- javascript 正则表达式详解
- (代码收藏)向上下左右不间断无缝滚动图片的效果(兼容火狐和IE)
- “赢在中国”点评人给80后年轻人的30个忠告
- 网友已总结好的《JS语法字典》
- 个人工作室开发规范