Page 1 of 1
How to change the items value in the main menu
Posted: Tue Mar 29, 2011 5:21 pm
by chrisjx2002
Hello,
I want to be able to change the values of the main menu items to support different languages.
If the user chooses the english one the menu will be in english. If he wants to change it, he can do it without reloading the program... It is simple to do that when defining the main menu but after I don't know how to change it. I don't find something like Windowsname.mainmenu.item1.value := 'xxx'. How to do that?
Regards
Re: How to change the items value in the main menu
Posted: Tue Mar 29, 2011 5:28 pm
by Rathinagiri
Hi,
You can call any number of times 'define main menu' sequence.
Please consider this example. Created from menu.1 sample.
Code: Select all
#include "hmg.ch"
Function main()
DEFINE WINDOW Form_1 ;
AT 0,0 ;
WIDTH 400 ;
HEIGHT 200 ;
TITLE 'Menu Test' ;
MAIN
DEFINE MAIN MENU
POPUP 'File'
ITEM 'Open' ACTION MsgInfo ('File:Open') IMAGE 'Check.Bmp'
ITEM 'Save' ACTION MsgInfo ('File:Save') IMAGE 'Free.Bmp'
ITEM 'Print' ACTION MsgInfo ('File:Print') IMAGE 'Info.Bmp'
ITEM 'Save As...' ACTION MsgInfo ('File:Save As')
ITEM 'HMG Version' ACTION MsgInfo (HMGVersion())
SEPARATOR
ITEM 'Exit' ACTION MsgInfo ('File:Exit') IMAGE 'Exit.Bmp'
END POPUP
POPUP 'Test'
ITEM 'Item 1' ACTION MsgInfo ('Item 1') name xxx
ITEM 'Item 2' ACTION MsgInfo ('Item 2')
POPUP 'Item 3' name test
ITEM 'Item 3.1' ACTION MsgInfo ('Item 3.1')
ITEM 'Item 3.2' ACTION MsgInfo ('Item 3.2')
POPUP 'Item 3.3'
ITEM 'Item 3.3.1' ACTION MsgInfo ('Item 3.3.1')
ITEM 'Item 3.3.2' ACTION MsgInfo ('Item 3.3.2')
POPUP 'Item 3.3.3'
ITEM 'Item 3.3.3.1' ACTION MsgInfo ('Item 3.3.3.1')
ITEM 'Item 3.3.3.2' ACTION MsgInfo ('Item 3.3.3.2')
ITEM 'Item 3.3.3.3' ACTION MsgInfo ('Item 3.3.3.3')
ITEM 'Item 3.3.3.4' ACTION MsgInfo ('Item 3.3.3.4')
ITEM 'Item 3.3.3.5' ACTION MsgInfo ('Item 3.3.3.5')
ITEM 'Item 3.3.3.6' ACTION MsgInfo ('Item 3.3.3.6')
END POPUP
ITEM 'Item 3.3.4' ACTION MsgInfo ('Item 3.3.4')
END POPUP
END POPUP
ITEM 'Item 4' ACTION MsgInfo ('Item 4')
END POPUP
POPUP 'Help'
ITEM 'About' ACTION MsgInfo ('Help:ABout')
END POPUP
END MENU
DEFINE CONTEXT MENU
ITEM 'Item 1' ACTION MsgInfo ('Item 1')
ITEM 'Item 2' ACTION MsgInfo ('Item 2')
SEPARATOR
ITEM 'Item 3' ACTION MsgInfo ('Item 3')
END MENU
define button new
row 100
col 10
caption 'Click'
action newmenu()
end button
END WINDOW
CENTER WINDOW Form_1
ACTIVATE WINDOW Form_1
Return
function newmenu
DEFINE MAIN MENU of Form_1
POPUP 'File1'
ITEM 'Open1' ACTION MsgInfo ('File:Open') IMAGE 'Check.Bmp'
ITEM 'Save1' ACTION MsgInfo ('File:Save') IMAGE 'Free.Bmp'
ITEM 'Print1' ACTION MsgInfo ('File:Print') IMAGE 'Info.Bmp'
ITEM 'Save As...1' ACTION MsgInfo ('File:Save As')
ITEM 'HMG Version1' ACTION MsgInfo (HMGVersion())
SEPARATOR
ITEM 'Exit1' ACTION MsgInfo ('File:Exit') IMAGE 'Exit.Bmp'
END POPUP
POPUP 'Test1'
ITEM 'Item 11' ACTION MsgInfo ('Item 1') name xxx
ITEM 'Item 21' ACTION MsgInfo ('Item 2')
POPUP 'Item 31' name test
ITEM 'Item 3.11' ACTION MsgInfo ('Item 3.1')
ITEM 'Item 3.21' ACTION MsgInfo ('Item 3.2')
POPUP 'Item 3.31'
ITEM 'Item 3.3.11' ACTION MsgInfo ('Item 3.3.1')
ITEM 'Item 3.3.21' ACTION MsgInfo ('Item 3.3.2')
POPUP 'Item 3.3.31'
ITEM 'Item 3.3.3.11' ACTION MsgInfo ('Item 3.3.3.1')
ITEM 'Item 3.3.3.21' ACTION MsgInfo ('Item 3.3.3.2')
ITEM 'Item 3.3.3.31' ACTION MsgInfo ('Item 3.3.3.3')
ITEM 'Item 3.3.3.41' ACTION MsgInfo ('Item 3.3.3.4')
ITEM 'Item 3.3.3.51' ACTION MsgInfo ('Item 3.3.3.5')
ITEM 'Item 3.3.3.61' ACTION MsgInfo ('Item 3.3.3.6')
END POPUP
ITEM 'Item 3.3.41' ACTION MsgInfo ('Item 3.3.4')
END POPUP
END POPUP
ITEM 'Item 41' ACTION MsgInfo ('Item 4')
END POPUP
POPUP 'Help1'
ITEM 'About1' ACTION MsgInfo ('Help:ABout')
END POPUP
END MENU
return nil
Re: How to change the items value in the main menu
Posted: Thu Mar 31, 2011 3:58 pm
by chrisjx2002
Super! Thanks a lot. I didn't know that it was possible to redefine the main menu like this.
Regards
Re: How to change the items value in the main menu
Posted: Thu Mar 31, 2011 4:11 pm
by Rathinagiri
Me too!
You are welcome!