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.


Reply via email to