dzh2000
Цитата:
Весьма спорное утверждение.
Подобные библиотеки - просто позор для разработчиков.
Вместо того чтобы субклассировать оконную функцию и написать от 2 до 4 обработчиков сообщений, в зависимости от желания, они пишут 34 компонента !!!
Решение, как говориться - в лоб.
Если бы речь шла о полной замене элементов управления, для поддержки регионов там или скинов, такой подход был бы оправдан.
Для придания flat'овости или, например отрисовки фона достаточно субклассинга.
В худшем случае - конкретного контролла, в лучшем - 'оконного класса' Windows (не путать с классами н-р Delphi).
С оконными элементами управления не возникает никаких проблем.
Потомки TGraphicControl и с OwnerDraw отрисовкой, например TBitBtn, требуют чуть больше усилий.
Лучшие представители этого класса:
FlatAll v2.0 http://www.sdmsoft.com/flatall/
GSFlat.pas by Gavina Int. Inc. by Alexey Lavnikov - этот модуль входит в несколько библиотек и при размере в 17 кб и вызове единственной процедуры InitGSFlatControls
субклассирует все элементы управления базирующиеся на оконных классах Windows.
Когда я увидел этот исходник, я был просто восхищен красотой и лаконичностью решения.
Программист субклассировал оконные процедуры классов - не конкретных контроллов а именно классов.
Технически совершенное решение. На мой взгляд.
Цитата:
Есть такая поговорка - "Все гениальное - просто". Она как нельзя лучше подходит для Flat Controls. 34 компонента повторяют идущие с Delphi за исключением одного свойства Flat. И это ВСЕ, что требуется для придания приложению стильного интерфейса.
Весьма спорное утверждение.
Подобные библиотеки - просто позор для разработчиков.
Вместо того чтобы субклассировать оконную функцию и написать от 2 до 4 обработчиков сообщений, в зависимости от желания, они пишут 34 компонента !!!
Решение, как говориться - в лоб.
Если бы речь шла о полной замене элементов управления, для поддержки регионов там или скинов, такой подход был бы оправдан.
Для придания flat'овости или, например отрисовки фона достаточно субклассинга.
В худшем случае - конкретного контролла, в лучшем - 'оконного класса' Windows (не путать с классами н-р Delphi).
С оконными элементами управления не возникает никаких проблем.
Потомки TGraphicControl и с OwnerDraw отрисовкой, например TBitBtn, требуют чуть больше усилий.
Лучшие представители этого класса:
FlatAll v2.0 http://www.sdmsoft.com/flatall/
GSFlat.pas by Gavina Int. Inc. by Alexey Lavnikov - этот модуль входит в несколько библиотек и при размере в 17 кб и вызове единственной процедуры InitGSFlatControls
субклассирует все элементы управления базирующиеся на оконных классах Windows.
Когда я увидел этот исходник, я был просто восхищен красотой и лаконичностью решения.
Программист субклассировал оконные процедуры классов - не конкретных контроллов а именно классов.
Технически совершенное решение. На мой взгляд.