好文档 - 专业文书写作范文服务资料分享网站

Win32 API 函数大全使用详解 

天下 分享 时间: 加入收藏 我要投稿 点赞

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

hWinPoslnfo:多窗口定位结构的句柄,该结构包含着一个或多个窗口的尺寸和定位信息,可以由函数BeginDeterWindowPos返回该结构或是由最近一次调用的DeferWindowPos函数返回。

hWnd:窗口的句柄,该窗口的更新信息存储在结构中。

hWndlnsertAfter:被定位窗口的Z序的前一窗口的句柄。这个参数必须为窗口句柄或下列值之一:HWND_BOTTOM:将窗口定位在Z序的底部。如果hWnd参数指定的是一个最顶层窗口,则该窗口将失去顶级位置而被排在所有其他窗口的底部。

HWND_NOTOPMOST:将窗口放置在所有顶层窗口的顶部(即在所有顶层窗口的后面)。如果窗口已经是一个非顶层窗口则此参数不起作用。 HWND_TOP:将窗口放置在Z序的顶部。

HWND_TOPMOST:将窗口放置在所有非顶层窗口的顶部、即使未被激活,窗口仍保持顶级位置。如果在uFlagS参数中指定了SWP_NOZORDER标志则本参数将被忽略。

x:指定窗口左上角的X坐标。 y:指定窗口左上角的y坐标。 cx:以像素定义窗口的新的宽度。 cy:以像素定义窗口的新的宽度。

uelage:指定下列影响窗口的大小和位置的值的组合: SWP_DRAWFRAME:在窗口周围画一个边框(该边框定义在窗口类的描述中)。

SWP_FRAMECHANGED:给窗口发送一个WM_NCCALCSIZE消息,即使窗口的尺寸不作改变也要发送。如果未指定这个标志,则只有窗口大小 改变时才发送WM_NCCALCSIZE消息。 SWP_HIDEWINDOW:隐藏窗口。

SWP_NOACTIVATE:不激活窗口。如果未指定这个标志,则窗口被激活并且根据hWndlnsertAfter参数的设置移到或是顶部窗口的顶部或是非顶部窗口的顶部。 SWP_NOMOVE;维持当前位置(忽略X和y参数)。

SWP_NOOWNERZORDER:不改变所有者窗口在Z序中的位置。

SWP_NOREDRAM:不作窗口更新。如果设定了这个标志,则不发生任何窗口刷新的动作。包括不对客户区,非客户区(包括标题条和滚动条),以及由于窗口移动露出的部分父窗口进行刷新。当设定了这个标志时,应用程序一定要明确指出将原窗口清除并且重画窗口的任何部分以及父窗口需要重画的部分。

SWP_NOREPOSITION:同 SWP_NOOWNERZORDER标志。 SWP_NOSENDCHANGING:防止窗口接受到WM_WINDOWPOSCHANGING消息。

SWP_NOSIZE;保持当前大小。(即忽略CX,Xy参数)。

SWP_NOZORDER:保持当前Z序(忽略hWndlnsertAfter参数)。

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

SWP_SHOWWINDOW:显示窗口。 返回值:返回值指明了被更新的多窗口定位结构。函数返回的句柄可能与传递给函数的句柄不同。这个函数返回的新句柄应在下一次调用时传递给DeferWindowPos函数和EndDeferWindowPos函数。如果调用函数时系统资源不足,则函数返回NULL。若想获得更多错误信息,请调用GetLastError函数。

备注:如果调用函数DeferWindowPos失败,应用程序应放弃窗口定位动作,并且不再调用EndDeferWindowPos

函数。如果未指定SWP_NOZORDER,系统将由hWnd参数指定的窗口定位于在hWndlnsertAfer参数指定的窗口之后的位置。如果hWndlnsertAfsr参数为空或为HWND_TOP,则系统将窗口放置在Z序顶端。如果hWndlnsertAfer设为HWND_BOTTOM则系统将窗口放置在Z序的底部。

所有子窗口的坐标都是相对于父窗口客户区的左上角的坐标。

一个窗口可以通过两种方式设为顶部窗口:或是设hWndlnsertAfter为HWND_TOPMOST并确保未设置SWP_NOZORDER标志;或是设置窗口在Z序中的位置使其在所有已存在的顶端窗口的顶部。当一个非顶端窗口被设为顶端窗口时,则属于它的窗口均被置为顶端窗口,而其所有者则不变。

如果SWP_NOACTIVATE或SWP_NOZORDER均未设置(即当应用程序要求在窗口被激活的同时改变其z序时),hwdfnsertPos参数只在下列情况中使用:

在hWndlnsertAfter参数中既未设定HWND_TOPMOST也未设定HWND_NoTTOPMOST标志;

由hWnd指定的窗口不是激活窗口;

应用程序在将窗口设为活动窗口时应将窗口设置到Z序的顶部。应用程序可以不受任何限制地改变被激活窗口在Z序中的位置,或在激活一个窗口之后将该窗口移到顶端窗口或非顶端窗口的顶部。

如果一个顶端窗口被重定位到Z序的底部(HWND_BOTTOM)或任何非顶端窗口后面时将不再是顶端窗口。

一个非顶端窗口可能拥有一个顶端窗口,反之则不成立。从属的任何窗口(例如一个对话框)都设置为顶层窗口以确保所有的从属窗口都在其所有者之上。

速查: Windows NT:3.1以上版本;Windows:95以上版本; Windows CE:不支持;头文件:

winuser.h;库文件:user32.lib。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

EnumChildProc

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

函数功能:是与函数EnumChilWindows一起使用的由应用程序定义的回调函数。它接收子窗口句柄。类型

WNDENUMOROC定义了指向这个回调函数的指针。EnumChildProc是一个应用程序定义的函数名的位置标志符。

函数原型:BOOL CALLBACK EnumChildProc(HWND hWnd,LPARAM IParam);

参数:

hWnd:指向在EnumChildWlndows中定义的父窗口的子窗口句柄。 lparam:指定在EnumchildWindows中给出的应用程序定义值。 返回值:为继续列举,回调函数必须返回TRUE;为停止列举,回调函数必须返回FALSE。 备注:回调函数可以执行任何要求的任务。应用程序必须通过将其地址传送给EnumChildwindows函数来注册这个回调函数。 速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持:头文件:winuser.h;库文件:用户自定义。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

EnableWindow

函数功能:该函数允许或禁止指定的窗口或控制接受鼠标输入或键盘输入。当输入被禁止时窗口不能接收鼠标单击和按键等类输入;当输入允许时,窗口接受所有的输入。

函数原型:BOOL EnableWindow(HWND hWnd,BOOL bEndble); 参数:

hWnd:允许或禁止的窗口句柄。

bEnable:指定是允许还是禁止窗口。如果这个参数为TRUE,窗口允许;如果参数为FALSE,则窗口被禁止。

返回值:如果窗口此前曾被禁止,则返回值为非零;如果窗口此前未被禁止,则返回值为零。若想获得更多错误信息,请调用 GetLastError函数。

备注:如果窗口的使能状态正在改变,则在EnableWindow函数返回前发送一个WM_ENABLE消息。如果窗口己经被禁止,则它的所有子窗口都被禁止,即使未向它们发送WM_ENABLE消息。

在一个窗口被激活前必须是使能的。例如,如果应用程序正在显示一个无模式对话框并且禁止了它的主窗口,则应用程序在销毁对话框之前一定要使能该主窗口。否则,将有另外一个窗口接受键盘焦点并且被激活。如果一个子窗口被禁止,则在系统确定由哪一个窗口接受鼠标消息时该子窗口将被忽略。

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

当窗口被创建时缺省为使能状态。要创建一个初始被禁止的窗口,应用程序可以在CreateWindowh

函数和CreateWindowhEx中指定WS_DISABLED风格。在窗口被创建后,应用程序可以使用EnaoleWindow函数来使能和禁止窗口。

应用程序可以使用这个函数来使能或禁止在对话框内的控制。一个被禁止的控制不能接受键盘焦点用户也不能进入该控制。 速查:Windows NT:3.1以上版本;Windows:95以上版本; Windows CE:1.0以上版本;头文件:winuser.h;库文件:user32.lib。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

EndDeferWindowPos

函数功能:该函数在一个单一的屏幕刷新周期内同时更新一个或多个窗口的位置和大小。

函数原型:BOOL EndDeferWindowPos( HWND hWinPoslnfo); 参数;

hWlnPoslnfo:指向多窗口定位结构的句柄,该结构包含着一个或多个窗口的尺寸和定位信息。这个内部结构由BeginDeferWindowPos函数返回或由最近一次调用DeferWindowPos函数退回。

返回值:如果函数成功,返回值为非零:如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

备注;EndDeferWindowPos函数向内部结构指定的每一个窗口发送WM_WINDOWPOSCHANGING和WM_WINDOWPOSCHANGED消息。 速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows CE:不支持:头文件:winuser.h;库文件:user32.lib。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

EnumChildProc

函数功能:该函数是由应用程序定义的,与函数EnumChildWindows一起使用的回调函数。它接收子窗口句柄。类型WNDENUMPROC定义了一个指向回调函数的指针。EnumChildProc是一个应用程序定义的函数名的位置标志符。

函数原型:BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM ItParam);

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

参数:

hwnd:指向在EnumChildWindows中指定的父窗口的子窗口句柄。 Lparam:指定在EnumChildWindows函数给出的应用程序定义值。 返回值:为继续枚举,回调函数必须返回TRUE;为停止枚举,回调函数必须返回FALSE。

备注:回调函数可以执行任何要求的任务。

应用程序必须通过将其地址传送给EnumChildWindows函数来注册这个回user.h;库文件:用户自定义。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

EnumThreadWindows

函数功能:该函数枚举所有与一个线程有关的非子窗口。办法是先将句柄传给每一个窗口,随后传送给应用程序定义的回调函数。EnumThreadWindows函数继续到所有窗口枚举完为止或回调函数返回FALSE为止。要枚举一个特定窗口的所有子窗口;使用EnumChjdwjndows函数。

函数原型:BOOL

EnumThreadWindows{D函数功能:该函数销毁指定的窗口。该函数发送WS_DESTROY,WS_NCDESTROY消息到窗口中以撤消该窗口并且将键盘焦点移开。该函数也销毁窗口菜单,刷新线程消息队列,销毁计时器,删除剪贴板的所有权,并断开剪贴板视窗链接(如果窗口在视窗链接的顶端)。

如果指定的窗口是父窗口或所有者窗口,DestroyWindow在销毁父窗口或所有者窗口时自动销毁相关的子窗口和从属窗口。该函数首先销毁相关联的子窗口和从属窗口,然后销毁父窗口和所有者窗口。

DestroyWindow也销毁由CreateDialog函数创建的无模式对话框。 函数原型: BOOL DestroyWindow(HWND hWnd); 参数:

hWnd;将被销毁窗口的句柄。

返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

备注:一个线程不能用DestroyWindow函数销毁由其他线程创建的窗口。

如果被销毁窗口是一个不具有

WS_EX_NOPARENTNOTIFY风格的子窗口,则其父窗口将接收到一个WM_PARENTNOTIFY消息。

Windows CE:DestroyWindow函数不发送 WM_NCDESTROY消息。

速查:Windows NT:3.1以上版本;Windows:95以上版本;Windows

嘟酷123 交流各种歪门邪道,资源共享 http://www.duku123.com

Win32 API 函数大全使用详解 

嘟酷123交流各种歪门邪道,资源共享http://www.duku123.comhWinPoslnfo:多窗口定位结构的句柄,该结构包含着一个或多个窗口的尺寸和定位信息,可以由函数BeginDeterWindowPos返回该结构或是由最近一次调用的DeferWindowPo
推荐度:
点击下载文档文档为doc格式
4pywh96mxg8n6j487kk6
领取福利

微信扫码领取福利

微信扫码分享