by Smoke (1 Submission)
Category: Windows API Call/Explanation
Compatability: Visual Basic 3.0
Difficulty: Intermediate
Date Added: Wed 3rd February 2021
Rating: (5 Votes)
Makes a menu item bold (for defualt items) by using Windows API's.
Inputs
Call the function in the following manner:
Call SetBold(Me, 1, 2)
Arguments:
----------
Me = The form
1 = Menu index for mnuEdit
2 = Item index for mnuEditPaste
API DeclarationsPrivate Declare Function GetMenu _
Lib "user32" ( _
ByVal hwnd As Long) As Long
Private Declare Function GetSubMenu _
Lib "user32" ( _
ByVal hMenu As Long, _
ByVal nPos As Long) As Long
Private Declare Function SetMenuDefaultItem _
Lib "user32" ( _
ByVal hMenu As Long, _
ByVal uItem As Long, _
ByVal fByPos As Long) As Long
Public Sub SetBold(frmBold As Form, iMenuIndex As Long, iItemIndex As Long)
Dim hMnu As Long, hSubMnu As Long
hMnu = GetMenu(frmBold.hwnd)
hSubMnu = GetSubMenu(hMnu, iMenuIndex)
Call SetMenuDefaultItem(hSubMnu, iItemIndex, 1&)
End Sub