API函数Word格式.docx

上传人:b****6 文档编号:17793152 上传时间:2022-12-10 格式:DOCX 页数:101 大小:54.09KB
下载 相关 举报
API函数Word格式.docx_第1页
第1页 / 共101页
API函数Word格式.docx_第2页
第2页 / 共101页
API函数Word格式.docx_第3页
第3页 / 共101页
API函数Word格式.docx_第4页
第4页 / 共101页
API函数Word格式.docx_第5页
第5页 / 共101页
点击查看更多>>
下载资源
资源描述

API函数Word格式.docx

《API函数Word格式.docx》由会员分享,可在线阅读,更多相关《API函数Word格式.docx(101页珍藏版)》请在冰豆网上搜索。

API函数Word格式.docx

如菜单占用两行以上的空间,则函数不能正确计算大小。

如程序使用了多行标题,则应使用GetSystemMetrics

AnyPopup

DeclareFunctionAnyPopupLib"

AnyPopup"

()AsLong

判断屏幕上是否存在任何弹出式窗口

Long,如存在弹出式菜单,则返回TRUE(非零)

对该函数来说,弹出式菜单包含所有可见的包容顶级窗口,无论弹出式还是重叠窗口

ArrangeIconicWindows

DeclareFunctionArrangeIconicWindowsLib"

ArrangeIconicWindows"

(ByValhwndAsLong)AsLong

排列一个父窗口的最小化子窗口(在vb里使用:

用于在桌面排列图标,用GetDesktopWindow函数获得桌面窗口的一个句柄)

Long,图标行的高度;

如失败,则返回零。

hwnd

Long,父窗口的句柄

也可将该函数用于包含了图标化子窗口的的定制控件

AttachThreadInput

DeclareFunctionAttachThreadInputLib"

AttachThreadInput"

(ByValidAttachAsLong,ByValidAttachToAsLong,ByValfAttachAsLong)AsLong

通常,系统内的每个线程都有自己的输入队列。

本函数(既“连接线程输入函数”)允许线程和进程共享输入队列。

连接了线程后,输入焦点、窗口激活、鼠标捕获、键盘状态以及输入队列状态都会进入共享状态

Long,非零表示成功,零表示失败,会设置会GetLastError

idAttach

Long,欲连接线程的标识符(ID)

idAttachTo

Long,与idAttach线程连接的另一个线程的标识符

fAttach

Long,TRUE(非零)连接,FALSE撤消连接

调用这个函数时,会重设键盘状态

BeginDeferWindowPos

DeclareFunctionBeginDeferWindowPosLib"

BeginDeferWindowPos"

(ByValnNumWindowsAsLong)AsLong

启动构建一系列新窗口位置的过程(以便同时更新)。

该函数会向一个内部结果返回一个句柄,这个结构容纳了与窗口位置有关的信息。

随后,该结构会由对DeferWindowPos函数的调用填充。

准备好更新所有窗口位置以后,对EndDeferWindowPos的一个调用可同时更新结构内所有窗口的位置

Long,内部结构的句柄。

零表示失败

nNumWindows

Long,在结构中欲为其分配空间的初始窗口数量。

在每次DeferWindowPos调用期间结构的大小会根据情况自动调节

BringWindowToTop

DeclareFunctionBringWindowToTopLib"

BringWindowToTop"

将指定的窗口带至窗口列表顶部。

倘若它部分或全部隐藏于其他窗口下面,则将隐藏的部分完全显示出来。

该函数也对弹出式窗口、顶级窗口以及MDI子窗口产生作用

Long,非零表示成功,零表示失败。

Long,欲带至顶部的那个窗口的句柄

这个函数也许能随同子窗口使用。

函数对一个特定的输入线程来说是“本地的”——换言之,倘若某窗口并非前台应用程序的一部分,那么一旦随同该窗口调用本函数,仍会将窗口带至它自己那个应用程序的窗口列表顶部。

但是,不会同时使那个应用成为前台应用程序。

这意味着在调用了本函数后,窗口仍会保持隐藏状态

CascadeWindows,CascadeWindowsBynum

DeclareFunctionCascadeWindows%Lib"

(ByValhwndParentAsLong,ByValwHowAsLong,lpRectAsRECT,ByValcKidsAsLong,lpKidsAsLong)

DeclareFunctionCascadeWindowsBynum%Lib"

CascadeWindows"

(ByValhwndParentAsLong,ByValwHowAsLong,ByVallpRectAsLong,ByValcKidsAsLong,ByVallpKidsAsLong)

以层叠方式排列窗口(在vb里使用:

位于顶部或被所有的窗口没有问题。

原文:

Noproblemfortoplevelwindowsorownedwindows.)

Integer,排列成功的窗口数量,零表示失败

hwndParent

Long,指定一个父窗口;

准备对它的子窗口进行排列。

用GetDesktopWindow函数获得顶级窗口的句柄

wHow

Long,MDITILE_SKIPDISABLED——不排列已被禁用的MDI子窗口

RECT,指定一个矩形,矩形区域中的窗口才会层叠处理。

可设为NULL,表示使用整个客户区

cKids

Long,在lpKids数组中指定的子窗口数量

lpKids

Long,子窗口列表中准备排列的第一个元素。

如传递NULL(注意将参数定义成ByVal)。

Long,则表示排列所有的子窗口(原文:

Long--Firstelementinlistofchildwindowstoarrange.PassNULL(besuretodefineparameterasByVal-Long,toarrangeallchildwindows.)

在正式的win32文档里,对这个函数的说明是不正确的。

这儿的参数建立在实际的win32C头文件基础上。

函数不能对诸如控件的子窗口产生——只对顶级窗口及MDI子有用。

注意在MDI窗体的情况下,指定的父窗口应是MDIClient窗口的句柄,不应是MDI窗体本身的窗口句柄。

可用api函数GetParent获得正确的句柄

ChildWindowFromPoint,ChildWindowFromPointEx

DeclareFunctionChildWindowFromPointLib"

ChildWindowFromPoint"

(ByValhWndAsLong,ByValxPointAsLong,ByValyPointAsLong)AsLong

DeclareFunctionChildWindowFromPointExLib"

ChildWindowFromPointEx"

(ByValhWndAsLong,ByValptAsPOINTAPI,ByValunAsLong)AsLong

返回父窗口中包含了指定点的第一个子窗口的句柄

Long,发现包含了指定点的第一个子窗口的句柄。

如未发现任何窗口,则返回hWnd(父窗口的句柄)。

如指定点位于父窗口外部,则返回零

hWnd

xPoint

Long,点的X坐标,以像素为单位

yPoint

Long,点的Y坐标,以像素为单位

pt

POINTAPI,点的坐标,以像素为单位

un

Long,(只适用于ChildWindowFromPointEx)控制对窗口的搜索。

参见下表

CWP_ALL

测试所有窗口

CWP_SKIPINVISIBLE

忽略不可见窗口

CWP_SKIPDISABLED

忽略已屏蔽的窗口

CWP_SKIPTRANSPARENT

忽略透明窗口

ClientToScreen

DeclareFunctionClientToScreenLib"

ClientToScreen"

(ByValhwndAsLong,lpPointAsPOINTAPI)AsLong

判断窗口内以客户区坐标表示的一个点的屏幕坐标

Long,非零表示成功,零表示失败

Long,判断客户区坐标时那个窗口的句柄

lpPoint

POINTAPI,用hwnd窗口的客户区坐标表示的点,这个参数会包含屏幕坐标系统中相同的点

CloseWindow

DeclareFunctionCloseWindowLib"

CloseWindow"

最小化指定的窗口。

窗口不会从内存中清除

Long,欲最小化的那个窗口的句柄

CopyRect

DeclareFunctionCopyRectLib"

CopyRect"

(lpDestRectAsRECT,lpSourceRectAsRECT)AsLong

将矩形的lpSourceRect内容复制给矩形lpDestRect

lpDestRect

RECT,目标矩形结构

lpSourceRect

RECT,源矩形

DeferWindowPos

DeclareFunctionDeferWindowPosLib"

DeferWindowPos"

(ByValhWinPosInfoAsLong,ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong

该函数为特定的窗口指定一个新窗口位置,并将其输入由BeginDeferWindowPos创建的结构,以便在EndDeferWindowPos函数执行期间更新

Long,返回一个新句柄,它指向的结构包含了位置更新信息。

这个句柄应在对DeferWindowPos的后续调用以及对EndDeferWindowPos的结束调用中用到。

如出错,则返回零值

hWinPosInfo

Long,由BeginDeferWindowPos为后续对DeferWindowPos的调用返回的句柄

Long,欲定位的窗口

hWndInsertAfter

Long,窗口句柄。

在窗口列表中,窗口hwnd会排列于这个窗口后面。

也可用下述值之一:

HWND_BOTTOM

将窗口置于窗口列表底部

HWND_TOP

将窗口置于Z序列顶部;

Z序列是窗口针对分级结构中一个给定级别显示的顺序

HWND_TOPMOST

将窗口置于列表顶部,位于任何最顶级窗口的前面(请参考WS_EX_TOPMOST样式位)

HWND_NOTOPMOST

将窗口置于列表顶部,位于任何最顶级窗口的后面

x

Long,窗口新的x坐标。

如hwnd是个子窗口,那么x用父窗口的客户区坐标表示

y

Long,窗口新的y坐标。

如hwnd是个子窗口,那么y用父窗口的客户区坐标表示

cx

Long,指定新窗口宽度

cy

Long,指定新窗口高度

wFlags

Long,包含了旗标的一个整数,如下所示:

SWP_DRAWFRAME

围绕窗口画一个框

SWP_HIDEWINDOW

隐藏窗口

SWP_NOACTIVATE

不激活窗口

SWP_NOMOVE

保持当前位置(x和y设定将被忽略)

SWP_NOREDRAW

窗口不自动重画

SWP_NOSIZE

保持当前大小(cx和cy会被忽略)

SWP_NOZORDER

保持在窗口列表的当前位置(hWndInsertAfter会被忽略)

SWP_SHOWWINDOW

显示窗口

SWP_NOOWNERZORDER

不改变Z序列的所有者

SWP_NOSENDCHANGING

窗口不发出WM_WINDOWPOSCHANGING消息

请参考对SetWindowPos函数的注解。

同时参考BeginDeferWindowPos和EndDeferWindowPos

DestroyWindow

DeclareFunctionDestroyWindowLib"

DestroyWindow"

破坏(即清除)指定的窗口以及它的所有子窗口(在vb里使用:

用处不大。

itisunlikelytobeofmuchuse.)

Long,欲清除的窗口的句柄

DrawAnimatedRects

DeclareFunctionDrawAnimatedRectsLib"

DrawAnimatedRects"

(ByValhwndAsLong,ByValidAniAsLong,lprcFromAsRect,lprcToAsRect)AsLong

在lprcFrom和lprcTo之间描绘一系列动态矩形

Long,要在其中描绘矩形的窗口。

如设为零,表示以桌面为背景

idAni

Long,windows95要设为0

lprcFrom

Rect,原始矩形

lprcTo

Rect,目标矩形

我的理解——这个函数用于在窗口缩放时产生动画效果

EnableWindow

DeclareFunctionEnableWindowLib"

EnableWindow"

(ByValhwndAsLong,ByValfEnableAsLong)AsLong

在指定的窗口里允许或禁止所有鼠标及键盘输入(在vb里使用:

在vb窗体和控件中使用Enabled属性)

Long,窗口句柄

fEnable

Long,非零允许窗口,零禁止

EndDeferWindowPos

DeclareFunctionEndDeferWindowPosLib"

EndDeferWindowPos"

(ByValhWinPosInfoAsLong)AsLong

同时更新DeferWindowPos调用时指定的所有窗口的位置及状态

Long,由对DeferWindowPos最近一次调用返回的结构句柄

EnumChildWindows

DeclareFunctionEnumChildWindowsLib"

EnumChildWindows"

(ByValhWndParentAsLong,ByVallpEnumFuncAsLong,ByVallParamAsLong)AsLong

为指定的父窗口枚举子窗口

hWndParent

Long,欲枚举子窗口的父窗口的句柄

lpEnumFunc

Long,为每个子窗口调用的函数的指针。

用AddressOf运算符获得函数在一个标准模块中的地址

lParam

Long,在枚举期间,传递给dwcbkd32.ocx定制控件之EnumWindows事件的值。

这个值的含义是由程序员规定的。

(原文:

ValuethatispassedtotheEnumWindowseventofthedwcbkd32.ocxcustomcontrolduringenumeration.Themeaningofthisvalueisdefinedbytheprogrammer.)

在vb4下要求dwcbkd32.ocx定制控件。

子窗口下属的子窗口也可由这个函数枚举

EnumThreadWindows

DeclareFunctionEnumThreadWindowsLib"

EnumThreadWindows"

(ByValdwThreadIdAsLong,ByVallpfnAsLong,ByVallParamAsLong)AsLong

枚举与指定任务相关的窗口

dwThreadId

Long,某线程的标识符,它的窗口将被枚举

lpfn

Long,指向一个函数的指针,要求为每个子窗口都调用这个函数。

用AddressOf运算符获得函数在标准模式下的地址

Long,在枚举期间,传递给dwcbkd32d.ocx定制控件之EnumWindows事件的值。

这个值的含义是由程序员规定的

子窗口下属的其他子窗口也可由这个函数枚举

EnumWindows

DeclareFunctionEnumWindows&

Lib"

(ByVallpEnumFuncAsLong,ByVallParamAsLong)

枚举窗口列表中的所有父窗口(顶级和被所有窗口)

Long,指向为每个子窗口都调用的一个函数的指针。

我的理解——在随vb5同时提供的api32.txt文件中,找不到这个函数

EqualRect

DeclareFunctionEqualRectLib"

EqualRect"

(lpRect1AsRECT,lpRect2AsRECT)AsLong

判断两个矩形结构是否相同

lpRect1

RECT,要比较的矩形

lpRect2

FindWindow

DeclareFunctionFindWindowLib"

FindWindowA"

(ByVallpClassNameAsString,ByVallpWindowNameAsString)AsLong

寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:

FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;

该类是所有运行中vb执行程序的一部分。

获得句柄后,可用api函数GetWindowText取得这个窗口的名称;

该名也是应用程序的标题)

Long,找到窗口的句柄。

如未找到相符窗口,则返回零。

lpClassName

String,指向包含了窗口类名的空中止(C语言)字串的指针;

或设为零,表示接收任何类

lpWindowName

String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;

或设为零,表示接收任

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1