
HWND是Handle to A Window的缩写,窗口句柄. H是类型描来自述,表示句柄(handle), 360百科WND 是变量对象描述,表示窗口,所以 HWND 表示窗口句柄。
- 中文名 窗口句柄
- 外文名 HWND
- 性质 函数值
- 应用 windows操作系统
hWnd含义
h 代表handle, Wnd 是表示window,所以hW极喜练皮河劳倍款模样垂nd 表示窗口句柄
通俗身介唱尼修护地说,如果把窗口当做一个人的话,那么HWND就是该人的身份证号码。
hWnd属性
返回窗体或控件的句柄(注意 OLE 容器控件不支持该属性。句柄:是由操作环境定义的一个仅有的整数值来自,它被程序用来标识或者切换到对象,如窗体或控件等。)。
语法
object.hWnd
object 所在处代表一个对象表达式,其值是"应用于"列表中的一个对象。
说明
Microsoft Windows 运队限良逐宽即体图脸行环境,通过给应用程序中的每乙个窗体和控件分配一个句柄(或 hWnd)来标来自识它们。 hWnd 属性用于Windows AP创甚I调用。许多 Windows 运行环境函数需要活动窗口的 hWnd 作为参数。
注意 由于该属性值在程序运行时可以改变,绝对不要将 hWnd 存储在变量中。
如果 User Control 的 Windowle360百科ss 属性设为 True, 则 hWnd 属性将返回 0 。
作用对象:
CheckBox 控件
门当在州罗句受聚外而ComboBox 控件
CommandButton 控件
DataGrid控件
DirListBox 控件
DriveListBox 控件
FileListBox 控件
Form 对象、Forms 集合
Frame 控件
而减里样序笔兵银 HScrollBar、VScrollBar 控件
ListBox 控件
MDIForm 对象
OLE 容器控件
Optio军车木nButton 控件
PictureBox 控件
PictureClip 控件
TextBox 控件
示例
点间对间推临穿 这个例子强制窗体保持在最前面。要试用此例,先创建一个窗华误战坏群获引计滑语体(不是一个 MDI 子窗体),然后为该窗体创建一菜单叫做 Main。在其中插入一子菜单叫做 Always On Top,并且把它的名字设置为 mnuTopmost。利用"工程"菜识补联实法仍单中的"添加模块"命令创建一个新模块。把 Declare 语句粘贴到新模块的声明部分,确保该语句在云道与随课孩孙方油失一行,并且没有断点或隐藏字。然后把 Sub 过程粘贴到窗体的声明部分并按 F5 键。
' 声明 Windows 例程.
' 该语句应在模块中。
D就eclare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (By晚Val 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
' 设置一些常数值(从 WIN32API.TXT).
Const conHwndTopmost = -1
Const conH树容盟加席草友wndNoTopmos古t = -2
Const conSwpNoActivate = &H10
Const conSwpShowWindow = &H40
Private S项须士空低慢制急得研ub mnuTopmost_Click ()
' 从菜单中加入或删除检查标志.
mnuTopmost.Checked = Not mnuTopmost.Checked
If mnuTopmost.Checked Then
' 打开 个读特画结TopMost 属性.
SetWindowPos hWnd, conHwndTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpShowWindow
Else
' 关育础求普孔且领原闭 TopMost 属性.
SetWindowPos hWnd, conHwndNoTopmost, 0, 0, 0, 0, conSwpNoActivate Or conSwpShowWindow
End If
End Sub
无论何时只要 ComboBox 收到焦点,在这个例子中都会自动放下 ComboBox 控件的列表部分。要试用此例,"创建一个包含 ComboBox 控件和 OptionButton 控件的新窗体(只为获得焦点用)。用先获得"工程"菜单中的"添加模块"命令创建一个新的模块。把 Declare 语句粘贴到新模块的声明部分,确保该语句在一行,并且没有断点或自动换行。然后把 Sub 过程粘贴到窗体的声明部分,并按 F5 键。用 TAB 键将焦点移动到 ComboBox 以及从 ComboBox 移出。
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
Private Sub Combo1_GotFocus ()
Const CB_SHOWDROPDOWN = &H14F
Dim Tmp
Tmp = SendMessage(Combo1.hWnd, CB_SHOWDROPDOWN, 1, ByVal 0&)
End Sub
对象表达式
说明具体对象的表达式,可以包含对象的容器。例如,应用程序可以拥有 Application 对象,其中包含 Document 对象,而 Document 对象又包含 Text 对象。
Windows API Windows API(应用程序编程接口)由函数、消息、数据结构、数据类型以及语句组成,它们可在创建在 Microsoft Windows 下运行的应用程序中使用。API 中使用最多的部分是从 Windows 中调用 API 函数的代码元素,包括过程声明(Windows 函数)、用户自定义类型的定义(用来传递到函数中的数据结构),以及常数声明(传递给函数以及从函数中返回的值)。