本文共 2534 字,大约阅读时间需要 8 分钟。
自己加个自我解析吧。第三个函数,SelectClipPath()的意思是在设置一个路径层中之后,把路径层当作一个剪贴区域,这样就能和别的在同样区域显示的内容利用模式进行操作!
在MFC中,路径层主要运用于在窗口中绘图。 学过Photoshop的同学都知道,我们在设计一张海报时,可能会用到多张图片进行合成,而在合成之前是要对每张图片进行各自处理的。这个时候我们就要给每一张图片定制一个它独有的处理空间---路径层。在各个独立的空间---路径层上,我们对每张图片进行处理而互相不受影响。 类似地,MFC中,在一块窗口上我们也可以定制多个路径层并在各个路径层上进行绘图或输出字符的操作。 MFC中,我们利用CDC类提供的成员函数BeginPath()和EndPath()这两个函数来实现一个路径层的创建。 (一) CDC::BeginPath BOOL BeginPath( ); Return Value Nonzero if the function is successful; otherwise 0.//如果打开路径层成功则返回值为一个非零值,否则返回0; Remarks Opens a path bracket in the device context. After a path bracket is open, an application can begin calling GDI drawing functions to define the points that lie in the path. An application can close an open path bracket by calling the EndPath member function. When an application calls BeginPath, any previous paths are discarded. //在设备描述表中打开一个路劲层,一个路径层打开后,应用程序就可以调用GDI函数(图形设备接口函数),去设置处在这个路径层中的点,应用程序通过调用EndPath函数将路径层关闭。当应用程序调用BeginPath的时候,之前的路径就会被弃置不理。 (二) CDC::EndPath BOOL EndPath( ); Return Value Nonzero if the function is successful; otherwise 0..//如果关闭路径层成功则返回值为一个非零值,否则返回0; Remarks Closes a path bracket and selects the path defined by the bracket into the device context. //用于关闭一个路径层,并且将由这个路径层定义的路径选入设备描述表当中
在绘图时,如果希望图的某一部分与其他部分分开处理,就可以利用路径层的独立性 (三) CDC::SelectClipPathBOOL SelectClipPath( int nMode );//此函数的作用是将所建立的路径层作为一个剪辑区域,将原来的路径层作为另一个剪辑区域,然后对这两个区域进行取交集、并集的操作得到一个新的剪辑区域,并在这个新的剪辑区域里进行互操作。Return Value Nonzero if the function is successful; otherwise 0.//函数成功返回值为非零,否则为0;
Parameters nMode //函数形参可取如下值 Specifies the way to use the path. The following values are allowed: //指定使用路径的方式,以下值是可取的
Remarks Selects the current path as a clipping region for the device context, combining the new region with any existing clipping region by using the specified mode. The device context identified must contain a closed path. |