В этом символьном списке выбираешь требуемый и требуется получить его дескриптор hWnd.
Подскажите, пожалуйста, как это осуществить при помощи API

'WARNING! DO NOT REMOVE OR MODIFY THE FOLLOWING COMMENTED LINES!
'MappingInfo=UserControl,UserControl,-1,Controls
Friend Property Get BuddyControls() As Collection
' Возвращает коллекцию, которая содержит список элементов контроля
' на родительской форме. Список содержит все контроли, кроме этого
Dim sMyName As String
Dim c As Control
Dim sTmp As String
Dim sink As Long
sMyName = Ambient.DisplayName
Set BuddyControls = New Collection
For Each c In UserControl.Parent.Controls ' Обработать все элементы формы
If c.Object Is Me Then GoTo Skip
Add: On Error GoTo Skip ' При возникновении ошибки, ее обойти
sink = c.hWnd ' Получить дескриптор любого элемента управления (в том числе и без дескриптора)
sTmp = c.Name
If sTmp <> sMyName Then
BuddyControls.Add sTmp
End If
Skip: On Error GoTo -1
Next c
End Property
sink = c.hWnd
Dim c As Control, iHWnd As Long
On Error Resume Next
For Each c In UserControl.Parent.Controls
iHWnd = 0: iHWnd = c.hWnd
Debug.Print c.Name, iHWnd
Next c
On Error GoTo 1
Error 123
1: On Error GoTo 2
Error 234
2: Debug.Print "не напечатается"
On Error GoTo 1
Error 123
1: On Error GoTo -1: On Error GoTo 2
Error 234
2: Debug.Print "напечатается!"
- не работает, т.к. нельзя устанавливать "вложенные" обработчики.
Сейчас этот форум просматривают: AhrefsBot и гости: 1