Hi again,
I also forgot to add the assignment from the iniFile using the same 2
functions, which makes them so much more useful.
myDialogMenu.Checked( GetMenuItemID( dictMyChimeSettingItems,
INIFile(myINIFile).Number( "Configuration", "ChimeSetting"))) = SelectMenuItem(
dictMyChimeSettingItems)
Below is the 2 things I have and will ad the 12/24 hour as well into this
for my app.
I make the dictionaries then inside the menuProc I have the case
statement that does both a selection and assignment.
Dim dictMyAnnounceItems: Set dictMyAnnounceItems =
CreateObject("Scripting.Dictionary")
Dim key, items: items = Array( "menu_announce_ChimeOnly",
"menu_announce_ChimeAndCount", "menu_announce_ChimeAndMale",
"menu_announce_ChimeAndFemale", "menu_announce_MaleOnly",
"menu_announce_FemaleOnly")
For Each key in items
dictMyAnnounceItems.Add key, Replace( key, "menu_announce_", "")
Next
set key = Nothing: Set items = Nothing
Dim dictMyChimeSettingItems: Set dictMyChimeSettingItems =
CreateObject("Scripting.Dictionary")
dictMyChimeSettingItems.Add "menu_clocks_1", 1
dictMyChimeSettingItems.Add "menu_clocks_2", 2
dictMyChimeSettingItems.Add "menu_clocks_4", 4
Case "menu_announce_ChimeOnly", "menu_announce_ChimeAndCount",
"menu_announce_ChimeAndMale", "menu_announce_ChimeAndFemale",
"menu_announce_MaleOnly", "menu_announce_FemaleOnly"
dControl.Checked( dId) = SelectMenuItem( dictMyAnnounceItems)
Speak myStrings( dId) & " Selected ", speakerVoice
INIFile(myINIFile).Text("Configuration", "Announcement") =
dictMyAnnounceItems( dId)
MainDialogProc = True
Exit Function
Case "menu_clocks_1", "menu_clocks_2", "menu_clocks_4"
dControl.Checked( dId) = SelectMenuItem( dictMyChimeSettingItems)
INIFile(myINIFile).Number( "Configuration", "ChimeSetting") =
dictMyChimeSettingItems( dId)
MainDialogProc = True
Exit Function
Function SelectMenuItem( menuDict)
' Uncheck all menu items and set selected one by passing back true.
Dim mId
For Each mId In menuDict
myDialogMenu.Checked( mId) = False
Next
SelectMenuItem = True
End Function
Function GetMenuItemID( menuDict, item)
' Return the menuItem ID of the item inside the dictionary.
Dim mID
For Each mID In menuDict
If menuDict( mID) = item Then
GetMenuItemID = mID
Exit Function
End If
Next
GetMenuItemID = ""
End Function
Sent: Friday, May 27, 2011 4:48 PM
Subject: RE: Menu Items and Menu Group?
Nice J.