本文仅用于学习交流,商业用途请支持正版!转载请注明:http://www.cnblogs.com/mxbs/p/6220618.html
在设备描述表中还有一个路径层(path bracket)的概念。在MFC中,创建路径层是利用CDC类提供的BeginPath和EndPath这两个函数来实现。
首先调用BeginPath,该函数的作用是在设备描述表中打开一个路径层;然后利用图形设备接口GDI提供的绘图函数进行绘图操作,例如绘制一些点、矩形、椭圆等;最后在绘图操作完成之后,应用程序通过调用EndPath函数关闭这个路径层。
CDC类提供的获取字符串在屏幕上显示的宽度和高度:GetTextExtent函数。声明如下:
CSize GetTextExtent ( const CString& str ) const;它有两个成员变量cx和cy分别表示宽度和高度。
区别GetTextExtent函数和GetTextMetrics函数:对GetTextExtent函数来说,它获得的是设备描述表中当前字体的度量信息。而GetTextMetrics函数则是获得某个特定的字符串在窗口中显示时所占据的宽度和高度。
代码如下:
效果图:
可以看出网格压盖了输出的文字。
还有一个概念叫裁剪区域(clipping region),CDC类提供了一个SelectClipPath函数,用于把当前设置的路径层和设备描述表中已有的裁剪区域按照一种指定的模式进行互操作。SelectClipPath函数以及常用的模式及说明如下图示:
代码如下:
运行结果如图示:
由此可知,我们可以通过路径层来实现特殊的效果。
如果有疑问,可以联系giserdev@163.com,更多内容请参考:http://www.cnblogs.com/mxbs/,技术交流请加QQ群:586571286。