|
|
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
Доброе время суток. Не знает ли кто, как можно программно сделать некоторые пункты меню неактивными (или скрыть или удалить)? Лобовое решение понятно - делать несколько вариантов менюшек и запускать разные. Однако большая часть их одинакова и при изменении придеься править все варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 07:56:06 |
|
||
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
Очень и очень просто, и совершенно необязательно иметь несколько вариантов менюшки, достаточно одного, но не в MNX, а в PRG файле. Пример написания меню в файле PRG: DEFINE BAR 7 OF seRvis PROMPT "Идексация и упаковка данных" IF lcUser = 'SuperAdmin' DEFINE BAR 8 OF seRvis PROMPT "Удаление документов из базы" ON SELECTION BAR 8 OF seRvis DO FORM DATADELETE ENDIF И никакие SKIP FOR не нужны, для не СуперАдмина этих пунктов меню вообще не видно и не должно быть видно, даже в недоступном виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 08:36:34 |
|
||
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
А поиском воспользоваться, хотя бы по данному форуму, не пробовал? http://www.sql.ru/forum/actualthread.aspx?tid=186010 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 10:34:47 |
|
||
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
ВладимирМА поиском воспользоваться, хотя бы по данному форуму, не пробовал? Пробовал, очевидно некорректно формулировал запросы "программное изменение меню", "деактивация пункта меню " и т.д.. http://www.sql.ru/forum/actualthread.aspx?tid=186010 Спасибо за подсказку. Как то я не замечал этот параметр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 11:40:45 |
|
||
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
Hi Yura! Запаришься так код писать - а уж править - и подавно. Динамически открыть/закрыть пункт тоже нельзя (нужно перекомпилировать всё) в общем крайне ограниченное решение - для большой системы вряд-ли сгодится. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2005, 22:51:24 |
|
||
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
1. Абсолютно нет, код написанный таким образом выглядит не сравнимо более наглядным, чем сгенерированный, а на написание и отладку такого кода у меня уходит значительно меньше времени, чем использование конструктора плюс всегда можно рядом со строками кода поместить комментарии 2. Вот именно о тех пунктах меню которые должны быть невидны даже в недоступном виде для неадминистратора я и говорю, нет такого SET SKIP, который-бы в этом помог. Т.е. если требуется управлять не доступностью пункта а наличием его в меню, тут без условий вообще обойтись нельзя. 3. Для динамического управления меню никто не мешает использовать эти-же самые SET SKIP, при необходимости и я их использую. Кстати раньше и я пользовался генератором меню, сейчас по ряду причин от него отказался в пользу исходного кода, особенно в больших системах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2005, 13:47:11 |
|
||
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
2Igor Korolyov Вам навеное не понравиться но особо хитрые дбф таблицы используют хотя повторюсь это на любителя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2005, 14:05:05 |
|
||
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
Hi leaf! Ты про что это? Если про хранение описания меню - так mnx это и есть "dbf таблица". Я именно её непосредственно и использую (т.к. использую библиотеку MenuLib). А КОДА с DEFINE POPUP и прочим мусором у меня вообще нету - ни "условного" ни "безусловного". Спрятать пункт для меня проще простого - _SCREEN.Menu.MySubMenu.Visible = .F. Конечно для целей администрирования я НЕ пишу такие команды - есть администратор, там есть права - и при создании, объекты меню запрашивают у модуля администрирования - можно ли им быть видимыми в контексте текущего пользователя. Опять-же РУКАМИ не пишется ни одной команды - всё уже давно написано в классах... Администратор кстати основан на хранении инфы в служебных таблицах (в т.ч. и на SQL-сервере) и имеет достаточно развитый GUI - с возможностями настройки как для разработчика (знающего все тонкости системы, и представляющего что стоит за каждым пунктом меню), так и для стороннего товарища (админа заказчика) - для него все права сгруппированы в несколько суперролей - которые он и может дать или отнять у пользователя... Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2005, 15:35:10 |
|
||
|
динамическое меню
|
|||
|---|---|---|---|
|
#18+
Приблизителльно тоже самое и у меня - только я не использую mnx файлы - интерфейс прописывается отдельно - далее кто-то пусть администратор - сам раздает права и управление пунктами юзерам. Точно так же все закопано в классы - и все работает на автомате. Специальных команд типа - _Screen.MyMenu.File.Open.Visible=.F. у меня вообще нигде нету. Все определяется правами и логикой управления документами и отчетностью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2005, 07:00:57 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33096115&tid=1594108]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 516ms |

| 0 / 0 |
