Сообщение IPM_SETFOCUS

Const IPM_SETFOCUS = &H468

Сообщение IPM_SETFOCUS устанавливает фокус клавиатуры на указанном поле элемента управления IP address control. Текст, находящийся в этом поле будет автоматически выделен

Возвращаемое значение

Возвращаемое значение не используется

Параметры

wParam
Определяет (отсчет от 0) поле элемента, получающего фокус клавиатуры. Если значение больше 3, тогда фокус устанавливается на первое пустое поле или на первое, если все поля заполнены
lParam
Не используется. Установите равным 0

Пример

' При загрузке формы будет создан
' элемент IP Address control в верхнем углу формы
' Когда пользователь нажмет на кнопу,
' то фокус клавиатуры будет установлен на 2 поле элемента
' Поместите на форму кнопку Command1.
' Элемент IP Address control будет создан программно

' В General Declaration
Private Cons ICC_INTERNET_CLASSES = &H800
Private Const WC_IPADDRESS = "SysIPAddress32"
Private hIPControl As Long  ' дескриптор IP Address control

' Создаем IP Address control при инициализации формы
Private Sub Form_Initialize()

Dim comctls As INITCOMMONCONTROLSEX_TYPE  ' определяем тип класса элемента управления для регистрации
Dim retval As Long
' Регистрируем IP Address contro
With comctls
   .dwSize = Len(comctls)
   .dwICC = ICC_INTERNET_CLASSES
End With

retval = InitCommonControlsEx(comctls)	' Создаем IP Address control в углу окна
hIPControl = CreateWindowEx(0, WC_IPADDRESS, "", WS_CHILD Or WS_VISIBLE, 0, 0, 125, 20, _
   Me.hWnd, 0, App.hInstance, ByVal CLng(0))
End Sub

' Уничтожаем IP Address control при закрытии окна
Private Sub Form_Unload(Cancel As Integer)

Dim retval As Long
retval = DestroyWindow(hIPControl)
End Sub

Private Sub Command1_Click()

Dim retval As Long
' Передадим фокус второму полю
retval = SendMessage(hIPControl, IPM_SETFOCUS, ByVal CLng(1), ByVal CLng(0))
End Sub

Категория

IP Address Control