Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизПрисвоение значения свойства группе объектов Найти похожие ветки
← →
ГореПрограммер (2006-09-28 10:02) [0]Здравствуйте.
Задача в следующем:
необходимо предположим присвоить значение false свойству enabled группе объектов (в частности пунктам меню) возможно ли сделать это способом, отличным от простого перечисления:
n1.enabled:=false;
n2.enabled:=false;
n3.enabled:=false
.....
и если можно, то как ?
← →
Ketmar © (2006-09-28 10:05) [1]Controls[], F1.
← →
clickmaker © (2006-09-28 10:06) [2]Menu.Items[]
← →
ГореПрограммер (2006-09-28 10:07) [3]Ketmar
если честно не увидел в справке каким образом реализовать мою задачу. Безусловно понимаю, что глаза плохие, но подскажите как ?
← →
ГореПрограммер (2006-09-28 10:08) [4]clickmaker
а каким образом с помощью meu.items[] обратиться к нескольким елементам ?
← →
Ketmar © (2006-09-28 10:09) [5]"в частности" -- см. [2].
в общем -- [3].
что ж тут неясного? бежим в цикле по всем контролам, те, которые нам нужны -- обрабатываем. остальные -- пропускаем.
← →
ГореПрограммер (2006-09-28 10:10) [6]Ketmar
а чем это будет отличаться от простого перечисления ?
← →
clickmaker © (2006-09-28 10:21) [7]
> [6] ГореПрограммер (28.09.06 10:10)
ничем
Ну нету в дельфи такого понятия "группа объектов", чтоб можно было свойства махом менять.
Не устраивает - напиши класс, в котором реализуешь перечисление
← →
ГореПрограммер (2006-09-28 10:22) [8]clickmaker
вот теперь все ясно, спасибо.
← →
MsGuns © (2006-09-28 12:31) [9]Обычно грамотно разработанный интерфейс представляет собою сгруппированные нужным (удобным, семантически близким и т.д.) образов внутри контейнеров: TPanel, TGroupBox ...
Для гибкого или контекстного управления такими контролами можно использовать общую процедуру, переключающую либо все, либо указанные некоторым образом контролы в "активное", "пассивное" либо какие-то другие состояния.
Процедура получает на входе указатель на TWinControl, служащий контрейнером (св-во Parent находящихся на нем компонент указывает на него) для визуальных контролов, "флаг" состояния и еще некоторые параметры, например, фонт, цвет и т.д. Процедура, перебирая "свои" контролы, (как справедливо указано в [1]), "ищет" у каждого соответствующее св-во (например, Enabled, Visible или Color, Font) и, если находит, присваивает ему переданное вх.параметром св-во в соответствии с "флагом".
Такая технология не только существенно повышает эффективность программинга, сокращая его сроки и повышая надежность и "объектонезависимость" кода, но и делает исходный текст кратким и наглядным.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c