delphi tribbon hides the tmenu bar

Hi, I wan't to change my application to use ribbons, the problem is that when I have a ribbon on my main form, my main tmenu gets hidden.     I know that some of my users will want the old menu back, I have tried hiding or disabling the ribbon but it's no use, the menu still won't show.    If I delete the ribbon, the tmenu shows up again.

Is there a way to use both?
Buropro-CitationAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

jimyXCommented:
This is similar to "How to use two TMainMenus in a Form?".
Simple answer, directly, you can not. As long as The Form has one property "Menu" that could possible accept one MainMenu at a time (Although you could rotate, as a work around, by assigning one menu which will remove the other, and continuing back and forth, you will be able to show the desired menu, but that is not considered direct way).

With TRibbon that is different, TRibbon overshadows the Menu and it is not even there to show. I do not know if there is hack to reverse that, probably there is, but simply you could use TToolbar to overcome that, where you can use as many menus as you want.
Just drop a TToolbar and TMainMenu and set the Toolbar's menu property to the TMainMenu.

Just give your client the option to select switching back to the old menu by setting the TToolbar visibility to True/False.

procedure TForm1.Button1Click(Sender: TObject);
begin
  // when your application starts, set the required default state for the TRibbon & the TToolbar
  // And when the switch option is clicked/selected/or whatever the method that you are going to use, just do this:
  ToolBar1.Visible:= not ToolBar1.Visible;
  Ribbon1.Enabled:= not ToolBar1.Visible;
  Ribbon1.Visible:= not ToolBar1.Visible;  //might be problematic
end;

Open in new window


PS: TRibbon can be a hellish component to work with, if coexistent with similar components.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.