Текущий архив: 2007.02.11;
Скачать: CL | DM;
ВнизКонтролы на экране Найти похожие ветки
← →
i-am-vladko © (2006-12-16 17:12) [0]Доброго времени суток!
На форме есть много элементов - наследников TControl, расположенных в GroupBox`ax, Panel`ax, и т.д. вобщем в контейнерах, причем и сами контейнеры могут быть расположены в других контейнерах. В элементах и контейнерах - свои Align, Anchors (помимо Left, Top, Height, Width, конечно). Задача - по DoubleClick создать эффект "мигания". Ставлю таймер - по таймеру изменяю Visible. Когда Visible = FALSE, другой элемент может "занять" его место в случае Align <> alNone. Поэтому рекурсивно по Form.Controls создаю массив из Align, Anchors, Left, Top всех элементов, сбрасываю текущие Align i Anchors (alNone, []). После снятия "мигания" возвращаю их из массива. Проблема в том, что иногда после возвращения Align, Anchors, Left, Top элементы оказываются не на своем месте. Наконец долгожданный ВОПРОС :
КАК ПРАВИЛЬНО ОТСОРТИРОВАТЬ ЕЛЕМЕНТы В МАССИВЕ чтоб вернуть их корректно?
← →
Desdechado © (2006-12-16 17:17) [1]Может, проще мигать переключением цвета?
← →
i-am-vladko © (2006-12-16 17:19) [2]Конечно проще)
А все-таки хочется так )))
← →
RASkov (2006-12-16 19:37) [3]Гиблое это дело... я не говорю, что не возможное, но гиблое.
По мимо твоего списка, в делфи есть также свой, который обновляется при смене таких свойств как Visible...
Т.е. если есть два контрола оба alTop то если верхний спрятать и вновь показать то он уже не обязан быть верхним.
Лучше эффект "мигания" пересмотри, и как вариант - "мигай цветом" [1] или закрывай/открывай его клиентскую область, например, панелью без Bevell"ов...
Страницы: 1 вся ветка
Текущий архив: 2007.02.11;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.043 c