Hi David,
Below is what Chip was talking about. Now inside the menu_ini routine you
can set the menu to what ever condition you want.
Inside the XML you place the Enabled="yes" or "no" for initial start before
looking at the .ini file and settings.
Also, you have an ID for the menu item and you can use that ID to call that
menu item and set it as I have done below using variable SpacebarURL.
In this example I am making a checked or unchecked, you can replace it with
enabled=True or not enabled=False
'Global Assignment:
Dim SpacebarURL
Callback for Dialog:
Case "me_space_url"
If SpacebarURL Then
SpacebarURL = False
myDialogMenu.Text( "me_space_url") = "Space Bar For URL Is Off"
myDialogMenu.Checked( "me_space_url") = SpacebarURL
Speak " Space Bar URL Is Off! "
Speak " Space Bar Move Is On! "
Sleep 1000
Else
SpacebarURL = True
myDialogMenu.Text( "me_space_url") = "Space Bar For URL Is On"
myDialogMenu.Checked( "me_space_url") = SpacebarURL
Speak " Space Bar URL Is On! "
Sleep 1000
End If
MainDialogProc = True
Exit Function
Creation Of Dialog:
If dEvent = dialogCreated Then
' This routine is to init all main buttons and fields.
' Since the dialog event for creation, no menu exists, so initialize it now.
Set myDialogMenu = dObj.Menu
Set myMainEscape = Keyboard.RegisterHotkey("Escape", "ExitMenu",
dObj.Window, dObj)
Set myMainAltF4 = Keyboard.RegisterHotkey("Alt-F4", "ExitMenu",
dObj.Window, dObj)
Set myMainF5 = Keyboard.RegisterHotkey("F5", "RefreshDialog", dObj.Window,
dObj)
dObj.Window.Activate
' dObj.Window.Redraw
Queue "MakeFileList", dObj
Queue "SetMenu_Ini"
MainDialogProc = True
Exit Function
sub SetMenu_Ini()
INIFile(myINIFile).Text( "Configuration", "Spacebar_URL") =
INIFile(myINIFile).Text( "Configuration", "Spacebar_URL", CStr( True))
SpacebarURL = CBool( INIFile(myINIFile).Text( "Configuration", "Spacebar_URL",
CStr( True)))
myDialogMenu.Checked( "me_space_url") = SpacebarURL
INIFile(myINIFile).Text( "Configuration", "NumLock") =
INIFile(myINIFile).Text( "Configuration", "NumLock", CStr( False))
myDialogMenu.Checked( "menu_NumLock") = CBool( INIFile(myINIFile).Text(
"Configuration", "NumLock", CStr( False)))
End Sub
----- Original Message -----
From: David
To: [email protected]
Sent: Tuesday, November 26, 2013 9:28 PM
Subject: Disabling a menu choice - how to?
Developers,
I could need a bit of educated assistance, please.
I have an app, that was started out by using the WEScript Framework app.
I wanted to add a choice to the app menu of my app, and for the ease we will
call it
MyMenuItem.
I entered the necessary information in the XML file, and modified the
MenuProc function in the app code - so it knows how to handle things, once my
new entry is selected. Everything works just like expected, this far.
Where my knowledge stops, is here. I want to make the new menu entry
available, only under certain conditions. Say for instance, I have a Boolean
variable, named
ConditionMet
and only want to display the entry on the app menu, when this variable is
true. Cook it all down to something like this:
If ConditionMet Then
' Need the code to make the menu entry visible.
Else
' need the code to make the menu entry disappear.
End If 'ConditionMet.
Allright, I know, it may not be all that simple. A couple of years of app
development, has taught me there likely will need to be a few lines extra of
codeing. Smile. Yet, I hope the above explains where my trouble has its nest.
More exactly, which variables (properties and methods), should I make use of
- so as to have the menu entry show up, and disappear. And, in the code, where
would I put the extra lines. As stated, the naked frame of the app, was
designed by WEScript Framework. So, if you happen to know exactly in which Sub
or Function the modification will be needed, I would be saved an hour of
searching through the lines of code. Smile.
Thanks for any ideas and input.
---
This email is free from viruses and malware because avast! Antivirus protection
is active.
http://www.avast.com