API函数—设备场景函数(一)
本页包括下列五个函数
CombineRgn
CombineTransform
CreateCompatibleDC
CreateDC,CreateDCBynum
CreateEllipticRgn
CombineRgn
| 声明 | ||
| 说明 | ||
| 将两个区域组合为一个新区域 | ||
| 返回值 | ||
| Long,下列常数之一: COMPLEXREGION:区域有互相交叠的边界 SIMPLEREGION:区域边界没有互相交叠 NULLREGION:区域为空 ERRORAPI:不能创建组合区域 |
||
| 参数表 | ||
| 参数 | 类型及说明 | |
| hDestRgn | Long,包含组合结果的区域句柄 | |
| hSrcRgn1 | Long,源区域1 | |
| hSrcRgn2 | Long,源区域2 | |
| nCombineMode | Long,组合两区域的方法。可设为下述常数 | |
| RGN_AND | hDestRgn被设置为两个源区域的交集 | |
| RGN_COPY | hDestRgn被设置为hSrcRgn1的拷贝 | |
| RGN_DIFF | hDestRgn被设置为hSrcRgn1中与hSrcRgn2不相交的部分 | |
| RGN_OR | hDestRgn被设置为两个区域的并集 | |
| RGN_XOR | hDestRgn被设置为除两个源区域OR之外的部分 | |
CombineTransform
| VB声明 | |
| Declare Function CombineTransform Lib "gdi32" Alias "CombineTransform" (lpxformResult As xform, lpxform1 As xform, lpxform2 As xform) As Long | |
| 说明 | |
| 驱动世界转换。它相当于依顺序进行两次转换 | |
| 返回值 | |
| Long,执行成功为TRUE(非零),失败则为零 | |
| 参数表 | |
| 参数 | 类型及说明 |
| lpxformResult | xform,保存转换结果的结构 |
| lpxform1 | xform,按顺序的第一个结构 |
| xform | xform,按顺序的第二个结构 |
| 适用平台 | |
| Windows NT | |
CreateCompatibleDC
| VB声明 | |
| Declare Function CreateCompatibleDC Lib "gdi32" Alias "CreateCompatibleDC" (ByVal hdc As Long) As Long | |
| 说明 | |
| 创建一个与特定设备场景一致的内存设备场景 | |
| 返回值 | |
| Long,新设备场景句柄,若出错则为零 | |
| 参数表 | |
| 参数 | 类型及说明 |
| hdc | Long,设备场景句柄。新的设备场景将与它一致。也可能为0以创建一个与屏幕一致的设备场景 |
| 注解 | |
| 在绘制之前,先要为该设备场景选定一个位图。不再需要时,该设备场景可用DeleteDC函数删除。删除前,其所有对象应回复初始状态 | |
CreateDC,CreateDCBynum
| VB声明 | |
| Declare Function CreateDC& Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As DEVMODE) Declare Function CreateDCBynum& Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, lpInitData As Long) |
|
| 说明 | |
| 为专门设备创建设备场景 | |
| 返回值 | |
| Long,新设备场景句柄,若出错则为零 | |
| 参数表 | |
| 参数 | 类型及说明 |
| lpDriverName | String,用vbNullString传递null值给该参数,除非:1、用DISPLAY,是获取整个屏幕的设备场景;2、用WINSPOOL,则是访问打印驱动 |
| lpDeviceName | String,所用专门设备的名称。该名由打印管理器分配显示 |
| lpOutput | String,用vbNullString传递null值给该参数 |
| lpInitData | DEVMODE,这个结构保存初始值。用CreateDCBynum传递0(NULL)值则适用默认设置 |
| 注解 | |
| 在绘制之前,先要为该设备场景选定一个位图。不再需要时,该设备场景可用DeleteDC函数删除。删除前,其所有对象应回复初始状态。若有设备初始设置可用DocumentProperties API函数载入DEVMODE结构。使用屏幕设备场景(DISPLAY)时要小心,因为它会干扰其他应用程序的外观 | |
CreateEllipticRgn
| VB声明 | |
| Declare Function CreateEllipticRgn Lib "gdi32" Alias "CreateEllipticRgn" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long | |
| 说明 | |
| 创建一个椭圆,该椭圆与X1,Y1和X2,Y2坐标点确定的矩形内切 | |
| 返回值 | |
| Long,执行成功则为区域句柄,失败则为零 | |
| 参数表 | |
| 参数 | 类型及说明 |
| X1,Y1 | Long,矩形左上角X,Y坐标 |
| X2,Y2 | Long,矩形右下角X,Y坐标 |
| 注解 | |
| 不用时一定要用DeleteObject函数删除区域。用Ellipse API函数绘出的椭圆与该椭圆区域不完全相同,因为本函数的绘图计算不包括矩形的下边和右边 | |
浙公网安备 33010602011771号