Projects

Find all our projects in development below.
All source code is GNU General Public License (GPL)

Window Spy

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


Download EnumMenusForm.frm

Back to file list


Back to project page