Galkov писал(а):
Есть люди, которые видят.видимо эта логика держится в строжайшем секрете
Galkov писал(а):
б) нельзя создать специального метода в KOL, меняющего порядок. Очень маленького и простого.хех
Ну а мне видится все примерно так:
создавая некую среду с элементами где-то в чем-то мы обязательно имеем список их всех ввиде одного массива. Как только перед нами становится задача сделать Align, то не долго думая достаточно забацать примерно такую логику:
top := 0;
for i := 0 to Controls.Count-1 do
if Controls[i].Align = caTop then
begin
Controls[i].top := top;
top := top + Controls[i].Height;
end;
Да и не осознал я пока каким образом запретить пользователю менять положение элементов на форме при выравнивание путем изменения их координат. Ну и наконец этот наш "специальный метод" визуализировать в редакторе форм так же не представляю как. Наверно выбираем один элемент, потом второй, жмем кнопку "Поменять местами" и получаем результат...
Galkov писал(а):
И единственный способ никогда не обсуждать такие вопросы - сделать зеркальные обработчики для Resize, с возможностью запустить из зеркал это же событие как для парента, так и для чайлдов.а кто будет заниматься собственно выравниванием?