Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.22;
Скачать: CL | DM;

Вниз

Включение/отключение компонента   Найти похожие ветки 

 
neat   (2005-12-14 11:44) [0]

Здравствуйте Все!
Есть меню в программе. Требуется отключать/включать некоторые пункты в зависимости от прав пользователя. Хотел это сделать по циклу перебирая компоненты, но в этом случае свойство Enable отсутсвует :

var s : set of 1..25;
    i : integer;
begin
   s := [6,7,8,9,10,12,15,16,17,19,20,21];
   for i := 0 to MenuKPP2.ComponentCount - 1 do
       if Menu.Components[i].Tag in s then
           Menu.Components[i]. ???

Как быть?


 
Игорь Шевченко ©   (2005-12-14 11:48) [1]

TAction.OnUpdate


 
Сайбель Алексей ©   (2005-12-14 12:50) [2]


>  Menu.Components[i]. ???

  TMenuItem(Menu.Components[i]).Enabled:=false;


 
Сайбель Алексей ©   (2005-12-14 13:02) [3]

Да кстати, ваш код не правильный:
var s : set of 1..25;
   i : integer;
begin
  s := [6,7,8,9,10,12,15,16,17,19,20,21];
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TMenuItem then
      if TMenuItem(Components[i]).Tag in s then
          TMenuItem(Components[i]).Enabled:=false;

А MenuKPP2.ComponentCount возвращает 1.


 
evvcom ©   (2005-12-14 13:13) [4]


> if Components[i] is TMenuItem then
>    if TMenuItem(Components[i]).Tag in s then

тоже можно короче:
if (Components[i] is TMenuItem) and (TMenuItem(Components[i]).Tag in s) then


 
evvcom ©   (2005-12-14 13:16) [5]


> тоже можно короче

Я имел ввиду, чтобы избежать многоэтажность if там, где ее можно избежать. Но удобнее все же [1], потому я и не стал писать подобное [2] и [3].


 
Сайбель Алексей ©   (2005-12-14 18:39) [6]

somebody киньте из хеплы/или свой пример использования OnUpdate. У меня у меня вместо гиперссылок на примеры: Delphi example!ALink(taction_onupdate_example_d,1,,main) C++ example!ALink(_Example_C,1,,Example)
Заранее благодарю.



Страницы: 1 вся ветка

Текущий архив: 2006.01.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
14-1135448120
lookin
2005-12-24 21:15
2006.01.22
Как будет по английски "цвет по уровню" одним словом?


9-1123271153
Cash
2005-08-05 23:45
2006.01.22
Counter Line v0.130a


2-1136633982
_Sergey_
2006-01-07 14:39
2006.01.22
Создание элементов PopupMenu в Runtime + назначение событий.


3-1132653380
ShiFT
2005-11-22 12:56
2006.01.22
получение BLOBField в Потоке.


14-1135758294
syte_ser78
2005-12-28 11:24
2006.01.22
Правда или приснилось?