Как не сломать VCL, делая кастомный контрол
Вы когда-нибудь копировали код кастомного контрола из статьи, чтобы избавиться от мерцания, а потом обнаруживали, что он ломает совместимость , требует специфичных обработчиков и не работает в условной компиляции? Я — да. И, как оказалось, проблема не в Windows API или GDI, а в фундаментальной ошибке проектирования : попытке «улучшить» стандартный интерфейс VCL, изменив сигнатуру OnPaint . В этой статье я объясню, почему передача Canvas и Rect в обработчик — плохая идея , как правильно расширять TWinControl , и почему лучший компонент — тот, который пользователь даже не замечает .
https://habr.com/ru/articles/985986/
#vcl #c++_builder