Редактор форм - твой
Прозрачность - моя. Не вдруг конечно
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
А вот прошу пояснить при чем тут редактор формы. По всем параметрам панели выравненные по одному краю с Top позициями 0 10 20 30... должны разместиться на форме строго в определенной последовательности. Без вариантов.
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Тогда все будет как есть
100 раз это все уже обсасывали |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
не помню чем все окончилось
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
А я тоже не помню
Но, не вспоминая, могу сходу сказать примерно такое:
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Galkov писал(а): Про "без вариантов": их может быть сколько угодноне вижу ничего более логичного, чем VCL расположение контролов в соответствие с их координатами. У кого меньше, тот и выше. Во всяком случае понятно, как влиять на это. Да и в Windows Explorer скажем при автовыравнивание можно взять иконку и впихнуть между двумя любыми файлами. Собственно не могу вот так сходу привести пример где бы была иная логика. Galkov писал(а): В варианте KOL последовательность привязки определяется не координатами, а порядком создания.Подозреваю что способ этот связан исключительно простотой реализации. Скажем как пользователь я совершенно не понимаю, чего мне делать при такой привязке если я захочу в уже запущенной программе поменять две панели местами. Убить их все и создать заного Права на другое видиние разработчик безусловно имеет. Однако какой уж есть редактор такой есть... За неимением лучшего нужно адаптироваться под то, что есть - иначе так и будут такие вопросы всплывать. |
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Dilma писал(а): не вижу ничего более логичногоЕсть люди, которые видят. И у меня нет ни малейшего настроения объяснять Кладову его "нелогичность" Dilma писал(а): За неимением лучшего нужно адаптироваться под то, что есть - иначе так и будут такие вопросы всплыватьНе факт, что нужно. Мне совершенно непонятна логика, когда некая проблема в одном инструменте (среда HiAsm) приводит к напрягам в сотнях экземплярах продукта (программы сделанные на HiAsm). Причиной могут быть только неразрешимые проблемы. В чем я не уверен совершенно. Dilma писал(а): Убить их все и создать заного А не факт, что: а) это дороже по кодам б) нельзя создать специального метода в KOL, меняющего порядок. Очень маленького и простого. И единственный способ никогда не обсуждать такие вопросы - сделать зеркальные обработчики для Resize, с возможностью запустить из зеркал это же событие как для парента, так и для чайлдов. Иначе: либо как я сказал Galkov писал(а): Тогда все будет как естьЛибо мы делаем "свой KOL", считая себя умнее Кладова. И, как следствие: выход постоянную поддержку последней их версии становится несбыточной мечтой. Что мне не улыбается абсолютно. Хотя бы потому, что не считаю себя умнее. |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Galkov писал(а): Есть люди, которые видят.видимо эта логика держится в строжайшем секрете Galkov писал(а): б) нельзя создать специального метода в KOL, меняющего порядок. Очень маленького и простого.хех Ну а мне видится все примерно так: создавая некую среду с элементами где-то в чем-то мы обязательно имеем список их всех ввиде одного массива. Как только перед нами становится задача сделать Align, то не долго думая достаточно забацать примерно такую логику:
Да и не осознал я пока каким образом запретить пользователю менять положение элементов на форме при выравнивание путем изменения их координат. Ну и наконец этот наш "специальный метод" визуализировать в редакторе форм так же не представляю как. Наверно выбираем один элемент, потом второй, жмем кнопку "Поменять местами" и получаем результат... Galkov писал(а): И единственный способ никогда не обсуждать такие вопросы - сделать зеркальные обработчики для Resize, с возможностью запустить из зеркал это же событие как для парента, так и для чайлдов.а кто будет заниматься собственно выравниванием? |
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Dilma писал(а): видимо эта логика держится в строжайшем секрете Да бог с ней с логикой. Из всего этого я могу сделать только один вывод: существуют разные подходы, спорить с любым - бессмысленно. Например: Кладов писал(а): И не надо мне говорить, что в VCL таких проблем нет. Там другие проблемы есть. Например, неожиданное изменение визуального порядка выровненных визуальных элементов после включения Visible в свойство true. Особенно неприятное, когда свое положение на неправильное меняет, например, сплиттер. Там для борьбы с подобным глюком приходится своим кодом менять значения свойств Left/Top проблемных контролов, и это решение ничуть не менее обходное, чем использование Global_Align в KOL.Ну не хочу я с таким спорить... А если не спорить, значит надо предоставить возможность воплощать "свое видение". Если развивать это логически, то и тому сумашедшему автору элемента, который именно для своего супер-пупер контрола вообще ни с кем не согласен. Dilma писал(а): Ну а мне видится все примерно такЭто на первый взгляд. А не второй, и на третий получается код ~1К в PAS версии, и 600 байт в ASM И ни одного слова из песни не выкинешь. Мне известен уже смысл каждого слова по этому поводу (в KOL) Dilma писал(а): а кто будет заниматься собственно выравниванием?Мне думается, что это мог бы быть один из методов DLL-к из папки draw Если автоматически искать этот метод для предка (WIN) при отсутствии персонального (который для вышеупомянутого сумашедшего) - могло бы получиться компактно и универсально. Т.е., мне думается, что не следует пристегивать VCL-ские обработчики, а всякие там WM_SIZE и WM_MOVE передать на обработку в соответствующие методы draw-dll-ек И предоставить интерфейс для послать эти WM_SIZE и WM_MOVE (или их аналоги) другим контролам. Впрочем, интерфейс среды с dll-кой заслуживает отдельного обсуждения. |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
ну так в этом случае можно попробовать и вовсе избавиться от редактора форм и предаставлять только Handle от Parent окна, на которое нужно положить контейнер. tsdima вроде демонстрировал приличную работу инжектированных форм в среде, так почему бы и весь редактор так не сделать...
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Ну я-то - хоть к пчелам в улей...
[size=-2]------ Добавлено в 12:46 nesco писал(а): а ты прозрачность у Label'a убери и посмотри. Все адекватно будет работать.А вот разобрался немного... Это KOL виноват, а не я, однако В нашем KOL такое:
|
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
KOL обновлять вероятно
|
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Встряска еще та будет
[size=-2]------ Добавлено в 14:50 Может даже разумно будет выпустить альтернативный пакет с новой парой компиляторов, и постоянной поддержкой последних версий KOL Не один день нестыковки будем выскребать.... Выскребем - первый анулируем. |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
можно и так.
|
|||
карма: 27 |
|
Разработчик
Ответов: 26163
Рейтинг: 2127
|
|||
Galkov, а поддержка FPC, народ возмущаться будет и вопросов немеренно задавать.
|
|||
карма: 22 |
|