Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2007-07-19 15:59:55 ЛС | профиль | цитата
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

0