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函数绘出的椭圆与该椭圆区域不完全相同,因为本函数的绘图计算不包括矩形的下边和右边 |