2014-04-01 3 views
-2

У меня есть проект, в котором я ограничу доступ к определенной ленте вкладки DevExpress на основе привилегий пользователя. В частности, dxRibbon1tab1 должен быть доступен только администраторам. Я написал следующий код, но не со свойством видимогоКак ограничить доступ к ленте вкладки DevExpress?

procedure Tfmenu.FormShow(Sender: TObject); 
begin 
    if (level) = 'admin' then 
    begin 
    dxRibbon1tab1.visible := True; 
    fmainform.Caption:= 'this is form for admin'; 
    end 
    else 
    begin 
    dxRibbon1tab1.visible:= False; 
    fmenu.Caption:='this is a form for user'; 
    end;   
end;   

Как я держать пользователь, не администратор с помощью этой специальной вкладки ленты?

+0

BTW: Внутри методов класса формы просто используйте 'Caption' вместо' Form1.Caption'. –

+0

Что такое 'level' и где/как он установлен? Вы пытались отлаживать? Поместите точку останова на 'if (level) ...' и посмотрите, что такое значение 'level'. Это 'admin'? –

+1

Я просто попробовал: «Не работает» означает «не компилируется», потому что нет свойства «Enabled». С быстрым взглядом я не видел другого способа отключить вкладку ленты, но вы можете скрыть ее с помощью 'Visible'. –

ответ

2

Возможно, вы захотите использовать TdxRibbonTab.Visible для отображения/скрытия вкладок.

Другой вариант - это контекстные вкладки (поиск «Контекстная вкладка ленты» в справке DevExpress).

Третьим вариантом будет использование свойства TdxBar.Visible для отображения/скрытия частей вкладки.

Чтобы узнать о DevExpress Bar Люкс также взглянуть на их демки

2

Также убедитесь, что вы включить/отключить действия, связанные с кнопками на вкладке. Несмотря на то, что вкладка может быть невидимой, клавиши быстрого доступа, которые назначены действиям, будут по-прежнему работать.

Смежные вопросы