Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Центрирование элемента управления

Delphi , Компоненты и Классы , Компоненты

Центрирование элемента управления

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

procedure CenterControl(ParentObject, CenterObject: TControl; bTop, bLeft: Boolean;
   Space: Integer);
 begin
   with CenterObject do
   begin
     if bLeft then
       Left := ParentObject.Width div 2 - Width div 2 + Space;

     if bTop then
       Top := ParentObject.Height div 2 - Height div 2;
   end;
 end;

 procedure TForm1.Button2Click(Sender: TObject);
 begin
   CenterControl(Panel1, Button1, True, True, 0);
 end;

Перевод:

Пример программирования на Delphi, демонстрирующий центрное расположение элемента (контроля) внутри его родительского контрола или формы.

Процедура CenterControl

  • ParentObject: Родительский контроль или форма, содержащая контрол, который нужно центрировать.
  • CenterObject: Контрол, который нужно центрировать, и также объект, передаваемый по ссылке (with CenterObject do ...).
  • bTop, bLeft: Флаги boolean, указывающие, должен ли контрол быть выравнен с верхней или левой кромкой его родительского контрола соответственно.
  • Space: Целочисленное значение, представляющее дополнительное пространство (в пикселях), которое нужно применить к позиции контроля.

Процедура использует оператор with для доступа и изменения свойств объекта CenterObject. Если bLeft равен True, она рассчитывает новое значение свойства Left путем деления ширины родительского объекта на половину, вычитания половины ширины контроля и добавления указанного пространства. Аналогично, если bTop равен True, она устанавливает свойство Top в рассчитанное значение.

Обработчик события Button2Click

  • Это обработчик события, прикрепленный к кнопке (Button2) на форме Form1.
  • Когда кнопка нажата, она вызывает процедуру CenterControl с конкретными аргументами:
    • Panel1: Родительский панельный контроль, где находится кнопка Button1.
    • Button1: Контрол, который нужно центрировать (та же кнопка).
    • True, True: Выравнивает оба верхнего и левого края Button1 с соответствующими краями Panel1.
    • 0: Не указано дополнительное пространство.

В целом, это код будет центрировать Button1 внутри Panel1 при нажатии кнопки Button2. Контрол будет располагаться так, чтобы его верхний и левый края выравнивались с соответствующими краями родительского панели, оставляя любое избыточное пространство по бокам.

В статье описана процедура CenterControl на языке Delphi, которая центрирует элемент управления на родительском объекте, обеспечивая возможность фиксации элемента по левому или верхнему краю и установление пробела вокруг него.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Компоненты ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 17:59:28/0.0052340030670166/2