Declare Function CheckMenuRadioItem Lib "user32" ( _ ByVal hmenu As Long, _ ByVal idFirst As Long, _ ByVal idLast As Long, _ ByVal idCheck As Long, - ByVal uFlags As Long) As Long
CheckMenuRadioItem отмечает "кружочком" заданный пункт меню и делает его пунктом с радиокнопкой. Одновременно, функция снимает отметку "кружочком " во всех других пунктах меню в связанной группе и очищает эти пункты от флажков пункта с радиокнопкой.
' Сначала создайте с помощью Menu Editor
' маленькую систему меню на Form1
Private Const MF_BYPOSITION = &H400&
Private Sub mnuFileItem1_Click()
Dim lRet As Long
Dim lngMenu As Long
Dim lngSubMenu As Long
Dim lhWnd
lhWnd = Form1.hwnd
lngMenu = GetMenu(lhWnd)
lngSubMenu = GetSubMenu(lngMenu, 0)
lRet = CheckMenuRadioItem(lngSubMenu, 0, 3, 0, MF_BYPOSITION)
End Sub
Private Sub mnuFileItem2_Click()
Dim lRet As Long
Dim lngMenu As Long
Dim lngSubMenu As Long
Dim lhWnd
lhWnd = Form1.hwnd
lngMenu = GetMenu(lhWnd) '0 = error
lngSubMenu = GetSubMenu(lngMenu, 0) '0 = error
lRet = CheckMenuRadioItem(lngSubMenu, 0, 3, 1, MF_BYPOSITION)
End Sub
Private Sub mnuFileItem3_Click()
Dim lRet As Long
Dim lngMenu As Long
Dim lngSubMenu As Long
Dim lhWnd
lhWnd = Form1.hwnd
lngMenu = GetMenu(lhWnd) '0 = error
lngSubMenu = GetSubMenu(lngMenu, 0) '0 = error
lRet = CheckMenuRadioItem(lngSubMenu, 0, 3, 2, MF_BYPOSITION)
End Sub