-
> Kilkennycat © (10.08.16 02:13) [9] > Если уж говорить точнее, то конфигурация зависит от ZOrder панелей
Нет. Если панели имеют одного родителя - то зависит только от прядка присвоения алигнов. Во всяком случае я с вариантом зависимости от чего-ибо другого не встречался никогда.
-
Удивительно, что несколько лет посвятив Delphi я никогда не задавался этим вопросом. Я делал сначала две формы top и client, а потом внутри второй делал client и right.
Причем я помню точно, что на взаимное положение двух панелей alRight влияет их свойство left. Если мышкой переместить более правую панель влево, то он встанет слева. Front, Back не влияют.
-
А, значит, я это откуда-то из другой среды почерпнул, да в голове перемешалось...
-
Вроде бы всегда считал, что будет вариант А. Но я так не делаю. Делаю две панели - первую топ вторую клиент, на вторую ещё две - райт и клиент. Просто потом так с этим удобнее работать, сплитеры там добавить проще, ну и не только 3 их может быть, может и сложнее что-то, и ещё какие-то соображения были, сходу не вспомню.
-
Коллеги, предлагаю все же включить дельфи и применить принцип Игоря Шевченко, а именно - практика критерий истины.
В результате вы увидите, что: 1. Порядок присвоения Align не важен. Всегда будет вариант А. 2. А потом надо залезть в метод, обозначенный мною выше, и сделать вывод, что всегда будет А.
ЗЫ. Я тоже всегда считал, что в Align все как-то тухло - не поймешь, как оно будет. И тоже всегда для Panel2 и Panel3 делал родителя с alClient. Полез неск. лет назад изучать исходники VCL. Оказалось, что в дельфи клевые программисты и избавили меня от родителя для Panel2 и Panel3.
-
> Тимохов Дима © (11.08.16 00:36) [24]
Вопрос о том, обладает ли человеческое мышление предметной истинностью,— вовсе не вопрос теории, а практический вопрос. В практике должен доказать человек истинность, т. е. действительность и мощь, посюсторонность своего мышления. Спор о действительности или недействительности мышления, изолирующегося от практики, есть чисто схоластический вопрос.
Карл, ты слышишь, Карл)
-
> Тимохов Дима © (11.08.16 00:36) [24] > > Коллеги, предлагаю все же включить дельфи и применить принцип > Игоря Шевченко, а именно - практика критерий истины. > > В результате вы увидите, что:
Действительно увидел. Но я как и Inovet © (10.08.16 19:12) [23] всегда использовал дополнительные панели.
-
> Sha © (11.08.16 00:56) [25]
Чот я не готов воспринимать философию так глубоко)))
Лично мне приятно, что на вопрос автора у меня получилось дать правильный ответ без запуска Delphi, причем аргументированный (со ссылкой на исх. код VCL).
ЗЫ Расстраивает слабость справки к Дельфи(((
-
> ЗЫ Расстраивает слабость справки к Дельфи((( >
Да ладно тебе, Дим. Вполне терпимая справка.
-
> Германн © (11.08.16 01:52) [28] > > > ЗЫ Расстраивает слабость справки к Дельфи((( > > > > Да ладно тебе, Дим. Вполне терпимая справка.
Я не фанат МС, но могу сказать (уверенно), что формат MSDN: about, using, reference - идеален. Вернее, БЫЛ идеален. Сейчас (через internet) не могу найти, как справка была в MSDN раньше. Но именно раньше было круче всего - about, using, reference.
-
> всегда использовал дополнительные панели.
как-то раз я их такую кучу наиспользовал, что форма нехило так тормозить начала :)
-
> Kilkennycat © (11.08.16 03:34) [30] > > > всегда использовал дополнительные панели. > > как-то раз я их такую кучу наиспользовал, что форма нехило > так тормозить начала :)
у меня вообще надстройка (фреймворк некий свой) над VCL. так он тааак тормозит из-за этих доп. панелей. рекомендация простая - купи машинку побыстрее. был недавно у заказчика поразился, почему они не ропщут - десктопы как сервера, да еще и мониторы в метр шириной))) сам то сижу на чем-то допотопном...
"бабло побеждает зло" (с) Умные люди.
-
> Тимохов Дима © (11.08.16 03:45) [31]
ну, требуй у них такой же себе, скажи, что не можешь нормально делать для них прогу, так как твой комп круче на порядок, и ты боишься, что программа у них будет тормозить :)
-
> Kilkennycat © (11.08.16 03:55) [32] > > > Тимохов Дима © (11.08.16 03:45) [31] > > ну, требуй у них такой же себе, скажи, что не можешь нормально > делать для них прогу, так как твой комп круче на порядок, > и ты боишься, что программа у них будет тормозить :)
Мой принцип простой - комп разработчика д.б. хуже, чем у заказчика. тогда, если немного хоть пооптимизируешь у себя, то у заказчика летать будет.
-
А вот если несколько контролов алигнятся к одному краю и важен их порядок, то, по крайней мере в семерке-классике имел значение не зет-ордер, и даже не порядок назначения проперти "алигн", а одна из координат контрола в момент назначения ему алигна к краю (например, для верхнего края - свойство "топ"). То есть, если по координате верха он выше каких-то контролов, уже приалигненых к верху и ниже других, то встрянет между первыми и вторыми. (поди-ка догадайся об этом без подсматривания в исходник)
-
> Тимохов Дима © (11.08.16 01:34) [27] > Чот я не готов воспринимать философию так глубоко)))
На самом деле и я тоже. Но цитата в свое время была одной из популярнейших.
-
> KSergey © (10.08.16 14:22) [20] > ...от прядка присвоения алигнов. > Во всяком случае я с вариантом зависимости от чего-ибо другого > не встречался никогда. Это потому, что при присвоении контролу алигна, скажем, к топу, его топ-координата обычно становится меньше топ-координаты того, который приалигнят следующим. Но если этого не произойдет - следующий контрол после приалигнивания таки окажется ближе к краю родителя. Присвойте свойству топ контрола число меньше нуля перед приалигниванием - и он гарантированно окажется в самом верху. (Проверить можно и в дизайнтайме.)
-
Кстати, еще вопрос: что такое alCustom? Кто-нибудь этим пользовался и как?
-
В случае alCustom используются функции WinControl function CustomAlignInsertBefore(C1, C2: TControl): Boolean; virtual; procedure CustomAlignPosition(Control: TControl; var NewLeft, NewTop, NewWidth, NewHeight: Integer; var AlignRect: TRect; AlignInfo: TAlignInfo); virtual;
и, соответственно, события FOnAlignInsertBefore FOnAlignPosition
Поэтому и custom, что можно перекрывать методы и устанавливать пользовательские (custom) обработчики событий
Это на вопрос: "что такое". Пользоваться не пользовался, нужды не было, хватало стандратного Align
-
Спасибо за ответ! Умеете удивлять!
|