Find all our projects in development below.
All source code is GNU General Public License (GPL)
Browsing EnumMenusForm.frm (5.76 KB)
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Begin VB.Form EnumMenusForm
BorderStyle = 3 'Fixed Dialog
Caption = "Menu Spy"
ClientHeight = 3975
ClientLeft = 150
ClientTop = 435
ClientWidth = 4695
ClipControls = 0 'False
Icon = "EnumMenusForm.frx":0000
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3975
ScaleWidth = 4695
ShowInTaskbar = 0 'False
StartUpPosition = 1 'CenterOwner
Begin VB.CommandButton Command1
Caption = "Close"
Default = -1 'True
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 3360
TabIndex = 2
Top = 3480
Width = 1215
End
Begin VB.CommandButton Command2
Caption = "&Expand All"
BeginProperty Font
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 120
TabIndex = 1
Top = 3480
Width = 1215
End
Begin MSComctlLib.TreeView Tree
Height = 3135
Left = 120
TabIndex = 0
Top = 120
Width = 4455
_ExtentX = 7858
_ExtentY = 5530
_Version = 393217
LabelEdit = 1
LineStyle = 1
Style = 7
Appearance = 1
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "Tahoma"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
End
Begin VB.Menu TreePopupMenu
Caption = "TreePopupMenu"
Visible = 0 'False
Begin VB.Menu ClickMenu
Caption = "&Click Menu Item"
End
Begin VB.Menu Blank1
Caption = "-"
End
Begin VB.Menu EnableMenu
Caption = "&Enable Menu Item"
End
Begin VB.Menu CheckMenu
Caption = "C&heck Menu Item"
End
Begin VB.Menu Blank2
Caption = "-"
End
Begin VB.Menu EditCaptionMenu
Caption = "Edit Menu &Item Caption"
End
End
End
Attribute VB_Name = "EnumMenusForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim hWnd_Object As Long
Dim hMenu As Long
Dim MenuID As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_COMMAND = &H111
Sub Set_hWnd(ByVal hWnd As Long)
hWnd_Object = hWnd
End Sub
Private Sub CheckMenu_Click()
If CheckMenu.Caption = "C&heck Menu Item" Then CheckMenuItem hMenu, MenuID, MF_CHECKED
If CheckMenu.Caption = "Unc&heck Menu Item" Then CheckMenuItem hMenu, MenuID, MF_UNCHECKED
End Sub
Private Sub ClickMenu_Click()
SendMessage hWnd_Object, WM_COMMAND, MenuID, ByVal hMenu
End Sub
Private Sub Command1_Click()
Unload Me
End Sub
Private Sub Command2_Click()
Dim i As Integer
For i = 1 To Tree.Nodes.Count
Tree.Nodes(i).Expanded = True
Next i
End Sub
Private Sub EditCaptionMenu_Click()
Tree.StartLabelEdit
End Sub
Private Sub EnableMenu_Click()
If EnableMenu.Caption = "&Enable Menu Item" Then EnableMenuItem hMenu, MenuID, MF_ENABLED
If EnableMenu.Caption = "&Disable Menu Item" Then EnableMenuItem hMenu, MenuID, MF_DISABLED
End Sub
Private Sub Tree_AfterLabelEdit(Cancel As Integer, NewString As String)
Dim MenuState As Long
MenuState = GetMenuState(hMenu, MenuID, MF_CHECKED Or MF_DISABLED)
If ModifyMenu(hMenu, MenuID, MenuState, MenuID, NewString) = 0 Then
MsgBox "An error occurred while trying to change the menu item's caption.", vbExclamation, "Menu Spy"
Cancel = True
End If
End Sub
Private Sub Tree_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim MenuState As Long
If Button = vbRightButton And Tree.Nodes.Count > 0 Then
hMenu = Val(Left(Tree.SelectedItem.Tag, InStr(Tree.SelectedItem.Tag, "|") - 1))
MenuID = Val(Mid(Tree.SelectedItem.Tag, InStr(Tree.SelectedItem.Tag, "|") + 1))
MenuState = GetMenuState(hMenu, MenuID, MF_SEPARATOR Or MF_CHECKED Or MF_DISABLED)
If (MenuState And MF_CHECKED) Then
CheckMenu.Caption = "Unc&heck Menu Item"
Else
CheckMenu.Caption = "C&heck Menu Item"
End If
If (MenuState And MF_DISABLED) Then
EnableMenu.Caption = "&Enable Menu Item"
Else
EnableMenu.Caption = "&Disable Menu Item"
End If
If (MenuState And MF_SEPARATOR) Or Tree.SelectedItem.Children > 0 Then
ClickMenu.Enabled = False
CheckMenu.Enabled = False
EnableMenu.Enabled = False
EditCaptionMenu.Enabled = False
Else
ClickMenu.Enabled = True
CheckMenu.Enabled = True
EnableMenu.Enabled = True
EditCaptionMenu.Enabled = True
End If
PopupMenu TreePopupMenu, vbPopupMenuRightButton
End If
End Sub