Сообщение IPM_SETADDRESS

Const IPM_SETADDRESS = &H465

Сообщение IPM_SETADDRESS устанавливает IP-адрес в IP address control

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

Сообщение не возвращает значимых значений

Параметры

wParam
Не используется, установите в 0
lParam
IP-адрес, вводимый в IP Address control. Данный IP-адрес должен быть упакован в 32-битный integer и храниться в сетевом порядке. Используйте макрос MAKEIPADDRESS для конвертации IP-адреса в этот формат

Пример

' При загрузке формы будет программно создан
' элемент IP Address control в верхнем углу формы
' и установлен требуемый IP-адрес

' В General Declaration
Private Const 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
Dim ipAddress_h 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, 145, 25, _
   Me.hWnd, 0, App.hInstance, ByVal CLng(0))
Dim ipaddress_h As Long

' Задаем некоторое значение
ipaddress_h = MAKEIPADDRESS(44, 124, 121, 69)
retval =  SendMessage(hIPControl, IPM_SETADDRESS, _
                ByVal CLng(0), ByVal ipAddress_h)

End Sub

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

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

Категория

IP Address Control