vb常用函数 下载本文

Declare Function DeleteDC Lib \参数很简单:hdc--将要删除的设备场景。

该函数删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景。若有对象被选入设备场景,则在调用本函数前应将它们选出。为此,可将初始对象回选入DC,也可用SaveDC, RestoreDC函数对回复DC为其创建时的状态。注:在vb里使用,不要将它用于由vb hdc属性获取的设备场景句柄 -----------------------------------

CreateCompatibleBitmap函数:创建1幅与设备有关的位图 该函数创建一幅与设备有关位图,它与指定的设备场景兼容 声明:

Declare Function CreateCompatibleBitmap Lib \As Long, ByVal nHeight As Long) As Long 调用如:

nWidth = Picture1.Width \\ Screen.TwipsPerPixelX nHeight = Picture1.Height \\ Screen.TwipsPerPixelY

hBitmap = CreateCompatibleBitmap(Picture1.hdc, nWidth, nHeight) 函数返回值为位图的句柄。 参数:

hdc:设备场景的句柄

nWidth:位图宽度,以像素为单位 nHeight:位图高度,以像素为单位

一旦位图不再需要,要用deleteObject函数释放它所占用的资源。 ---------------------------------------------------- SelectObject函数:选择在设备场景中选入某类型GDI对象

每个设备场景都可能有选入其中的图形对象。其中包括位图、刷子、字体、画笔以及区域等等。一次选入设备场景的只能有一个对象。选定的对象会在设备场景的绘图操作中使用。例如,当前选定的画笔决定了在设备场景中描绘的线段颜色及样式 。 声明:

Declare Function SelectObject Lib \ByVal hObject As Long) As Long

函数返回值为选入hdc设备场景的hObject类型的一个对象的句柄,零表示出错。如果选定的对象是一个区域(如由CreateEllipticRgn椭圆区域),结果就是下列常数之一:SIMPLEREGION, COMPLEXREGION 或 NULLREGION 对区域进行描述, GDI_ERROR 表示出错 参数:hdc--一个设备场景的句柄

hObject --一个画笔、位图、刷子、字体或区域的句柄

注:返回值通常用于获得选入DC的对象的原始值。绘图操作完成后,原始的对象通常选回设备场景。在清除一个设备场景前,务必注意恢复原始的对象。

插入符函数

---------------------------------------------------------------------- 创建一个插入符:CreateCaret函数

通常是当一个编辑类控件具有焦点后,就有插入符,在VB中对应为GotFocus事件,也就是创建插入符的时机似乎应在此事件中。插入符一般是一根短竖线,也可以是一幅位图。作用是提示文字的插入位置。声明:

Declare Function CreateCaret Lib \ByVal nWidth As Long, ByVal nHeight As Long) As Long 调用如:

CreateCaret Picture1.hwnd,0,2,14

当创建一个插入符时,会删除该窗口原有的插入符。新创建的插入符要用SetCaretPos函数设置好位置,再用ShowCaret函数才能显示出来,参数如下: hwnd :Long,要在其中创建插入符的那个窗口的句柄

hBitmap Long,如果指定一幅位图作插入符,则为位图的句柄。如果不指定位图作插入符,则可以是0(黑色插入符)或1(灰色插入符);此时插入符可通过nWidth和nHeight参数创建。 nWidth Long,插入符的宽度(采用逻辑单位),如2。 nHeight Long,插入符的高度,如20。 ---------------------------------------- 指定插入符的位置:SetCaretPos函数

Declare Function SetCaretPos Lib \y As Long) As Long

参数x,y为插入符在客户区坐标系统中的X,Y位置,注意是以客户区坐标为准的,例如插入符是Form1的,那么就以窗体form1的坐标系统来度量,看其ScaleMode属性指定了什么单位,如缇,象素,甚至自定义的单位长度等。调用如: SetCaretPos 100,100

---------------------------------------------- 显示创建的插入符:ShowCaret函数 要用该函数才能显示插入符,声明:

Declare Function ShowCaret Lib \参数简单,只要指定要显示插入符的窗口句柄即可,如:ShowCaret Picture1.hwnd. -------------------------------------------------- 隐藏插入符:HideCaret函数 隐藏指定窗口中的插入符,声明:

Declare Function HideCaret Lib \参数为要隐藏插入符的窗口句柄。调用如:HideCaret Picture1.hwnd.

注:针对插入符的显示,windows维护着一个内部计数器;类似于ShowCursor函数使用的那个。所以对HideCaret 和 ShowCaret的调用必须进行一番权衡,最好成对使用。 ---------------------------------------------- 获得创建的插入符在该窗口中的位置:GetCaretPos函数 声明:

Declare Function GetCaretPos Lib \

参数为一个POINTAPI结构,即位置坐标的x,y值,这些值采用插入符所在窗口的客户坐标表示,不是限定为象素。调用如: Dim lxn as POINTAPI GetCaretPos lxn Print lxn.x,lxn.y

新增函数

打开或创建文件、设备、通讯端口等:CreateFileA函数