Сообщение BM_GETSTATE

Const BM_GETSTATE = &HF2

Пошлите сообщение BM_GETSTATE кнопке для определения состояния кнопки. Эти сообщения работают со всеми типами кнопок

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

В случае ошибки сообщение возвращает 0. В успешном случае сообщение возвращает комбинацию следующих значений, определяющих текущее состояние кнопки:

BST_CHECKED = &H1
Кнопка отмечена
BST_FOCUS = &H8
Кнопка имеет фокус
BST_INDETERMINATE = &H2
Кнопка в неопределенном состоянии. Эти работает только с переключателями, которые имеют три возможных состояния
BST_PUSHED = &H4
Обычно применяется к левой кнопке
BST_UNCHECKED = &H0
Кнопка не отмечена

Параметры

wParam
Не используется - установите равным 0
lParam
Не используется - установите равным 0

Пример

' Определяем состояние флажка Check1.
' Вы должны создать флажок по имени Check1
' и кнопку Command1 в окне формы

Private Sub Command1_Click()
Dim state As Long ' состояние флажка
' Определяем состояние флажка Check1
state = SendMessage(Check1.hWnd, BM_GETSTATE, ByVal CLng(0), ByVal CLng(0))
If state And BST_CHECK Then
  Debug.Print "Флажок отмечен"	
   ElseIf state And BST_INDETERMINATE Then
    Debug.Print "Неопределенное состояние"
   Else
    Debug.Print "Флажок не отмечен"
End If

If state And BST_FOCUS Then Debug.Prin "Флажок имеет фокус"
If state And BST_PUSHED Then Debug.Print "Флажок нажат"
End Sub

Смотри также

BM_GETCHECK, BM_SETSTATE

Категория

Кнопка