Home » U++ Library support » Menus&Toolbars » Disable/Enable Menu item during runtime
Disable/Enable Menu item during runtime [message #23456] |
Wed, 21 October 2009 01:58  |
sdiscool
Messages: 2 Registered: October 2008
|
Junior Member |
|
|
I know we have a function called Enable. However, I have trouble how to access into it after reading tutorial (i am new to Ultimate ++).
Here is what I have (partial - i use separate CPP/H files):
this->AddFrame(menu);
menu.Set(THISBACK(MainMenu));
void MainMenu(Bar& bar) {
bar.Add("File", THISBACK(SubFileMenu))
.Help("File Menu");
bar.Add("Section", THISBACK(SubSectionMenu))
.Help("Section Menu").Enable(false);
}
void SubFileMenu(Bar& bar) {
bar.Add("Open", THISBACK(File_Open))
.Help("Open Menu");
bar.Add("Close", THISBACK(File_Close))
.Help("Close Menu");
bar.Add("Exit", THISBACK(File_Exit))
.Help("Exit Menu");
}
void File_Open() {
// I want to make "Section" enabled. How can I do it here?
// example: when user opens file, i want section to be enabled.
}
|
|
|
Re: Disable/Enable Menu item during runtime [message #23458 is a reply to message #23456] |
Wed, 21 October 2009 05:51  |
Novo
Messages: 1430 Registered: December 2006
|
Ultimate Contributor |
|
|
You need to use method Add, which has a signature below. And you need to recreate menu each time. This is a pretty optimized procedure.
Item& Add(bool enable, const char *text, Callback callback);
Your code should look like below.
void MainMenu(Bar& bar) {
bar.Add("File", THISBACK(SubFileMenu)).Help("File Menu");
bar.Add(SectionIsEnabled(), "Section", THISBACK(SubSectionMenu)).Help("Section Menu");
}
Regards,
Novo
|
|
|
Goto Forum:
Current Time: Sat Apr 26 22:04:59 CEST 2025
Total time taken to generate the page: 0.00431 seconds
|