как я могу скрыть страницы TRibbon? - PullRequest
2 голосов
/ 15 апреля 2009

Я использую компонент Delphi 2009 TRibbon. некоторые страницы не актуальны в зависимости от состояния приложения. как я могу скрыть страницу TRibbon?

RibbonPage1.Visible: = false на самом деле не скрывает страницу ...

Возможно, это не разрешено спецификацией от Microsoft?

спасибо за помощь! Т. пл

Ответы [ 5 ]

1 голос
/ 24 июня 2009

Вы не можете сделать это в настоящее время. Это вкладки (не страницы), которые должны поддерживать видимость, а они просто не делают.

Если вы попытаетесь манипулировать самими вкладками, вы обнаружите, что код очень сильно зависит от поддержания связи между страницами и вкладками вплоть до уничтожения ваших страниц. Я не думаю, что есть хороший обходной путь.

Зарегистрируйте это как ошибку в Quality Central . Поддержка контекстно-зависимых вкладок / страниц определенно должна поддерживаться. Я полагаю, что за это проголосовало бы немало других.

1 голос
/ 19 апреля 2011

Фактически, это единственная вещь, которая скрывает / показывает, которая корректно обрабатывается этим куском бордового дерьма.

MainRibbon.RemoveTab ( 'TABNAME');

Сейчас я ищу, как скрыть групповые и индивидуальные действия. Visible = false не в порядке, попробуйте изменить размер вашей формы меньше, и в свернутом состоянии все еще там.

1 голос
/ 16 апреля 2009

Не думаю, что вы можете скрыть отдельные страницы ленты, но вы можете скрыть или отключить отдельные Группы лент на каждой странице.

RibbonGroup1.Enabled := false; 
RibbonGroup2.Visible := false;

Microsoft Office отключает любые группы, которые не относятся к текущему состоянию. Посмотрите эти статьи из документации для получения дополнительной помощи.

0 голосов
/ 15 ноября 2014

Попробуйте это: (Delphi XE6)

MainRibbon.Tabs[RibbonPage.Index].Visible := FALSE;

Затем вы можете сделать его снова видимым,

MainRibbon.Tabs[RibbonPage.Index].Visible := TRUE;
0 голосов
/ 21 сентября 2013

возможно, попробуйте это: RibbonPage1.Free;

...