vb中的 SetWindowPos函数使用问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 08:41:19
例如:
Declare Function SetWindowPos Lib "user32" ( ByVal hwnd As Long, _
ByVal hwndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
ByVal cx As Long,ByVal cy As Long,ByVal wFlags As Long ) As Long
这个函数在使用时,wflags有很多常量,有人知道到底有多少个,每个量代表什么意思???
麻烦帮帮忙!!!
还有这些常量一定要声明才能够用吗?
例如:
const SWP_NOSIZE=&H1
这里的swp_nosize为什么不能接直用?后面的&H1是不是系统默认的???

大概有这么几种:

SWP_DRAWFRAME
围绕窗口画一个框
SWP_HIDEWINDOW
隐藏窗口
SWP_NOACTIVATE
不激活窗口
SWP_NOMOVE
保持当前位置(x和y设定将被忽略)
SWP_NOREDRAW
窗口不自动重画
SWP_NOSIZE
保持当前大小(cx和cy会被忽略)
SWP_NOZORDER
保持窗口在列表的当前位置(hWndInsertAfter将被忽略)
SWP_SHOWWINDOW
显示窗口
SWP_FRAMECHANGED
强迫一条WM_NCCALCSIZE消息进入窗口,即使窗口的大小没有改变

这些常量是API要用的,因为VB中没有这些常量,所以一定要在使用之前进行声明。
每个常量对应的值是固定的,API是根据这些值来判断你要做的动作,而不是常量名称,所以,你可以在调用API函数时直接传数值(例如:用&H1代替SWP_NOSIZE),这样就可以免去这些常量的声明了,但不利于以后对代码的理解和维护。

它不是VB内部的常量.