Элементы управления с автовыравниваниемDelphi , Компоненты и Классы , Создание компонентЭлементы управления с автовыравниваниемАвтор: Ralph Friedman Я просто хочу в моем модуле заставить перемещаться поле редактирования (компонент Edit) синхронно с перемещением кнопки. При любом перемещении поля редактирования кнопка должна следовать за ним. Покопался в исходном коде VCL, но так ничего и не обнаружил... При создании кнопки вы должны сделать ее "ребенком" поля редактирования (обычно, parent := self;). Также для компонента вы должны перекрыть метод CreateParams и установить Param.Style следующим образом:
Проблема классическая!
Чтобы синхронизировать движение кнопки с компонентом редактирования, вам нужно сделать кнопку дочерней для компонента редактирования и переопределить метод Вот пример кода, который может помочь вам достичь этого:
В этом коде мы создали новый класс Когда вы создаете экземпляр класса
Таким образом, кнопка автоматически будет перемещаться с компонентом редактирования при его изменении размера. Обратите внимание, что вам может потребоваться настройка свойств anchoring и docking для кнопки и компонента редактирования, чтобы достичь желаемого поведения. В статье описывается способ синхронного перемещения поля редактирования (компонент Edit) с кнопкой, создавая последнюю "ребенком" поля редактирования и перекрывая метод CreateParams для компонента. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Создание компонент ::
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |