2011-01-06 3 views
0

У меня проблема с выравниванием кнопок во время выполнения. Я хочу, чтобы они выровнялись в центре панели. У меня есть TPanel, который содержит кнопки, которые создаются во время выполнения. Я хочу, чтобы они динамически заполняли всю площадь панели равномерно.кнопки выравнивания во время выполнения

Предположим, у меня есть три кнопки в строке - каждая ширина кнопок 50 пикселей. И моя панель имеет ширину 350 пикселей.

  1. Я разделяю ширину панели на количество кнопок в строке (Trunc (350/3) = 116). Получите ширину области кнопки.
  2. Теперь вычитаем ширину кнопки области от ширины кнопки, чтобы получить поля (116-50 = 66)
  3. Разделить поля на 2, чтобы получить левый и правый край (Trunc (66/2) = 33)
  4. И расположите мои кнопки, начиная с левого поля и так далее.

Но это не работает правильно. Что я делаю неправильно? Также моя панель имеет правый анкер. Поэтому, если я изменяю размер моей формы, панель изменяет размеры, но кнопки не выравниваются.

Как я могу решить эту проблему?

+0

Можете ли вы разместить код, который вы используете – Bharat

+0

Я уже нашел свою ошибку в коде. – evilone

+3

затем опубликуйте его как ответ. – RBA

ответ

2

Просто предложение, используйте TGridPanel. Настройте столбцы и установите выравнивание клиента на кнопках. Он должен сделать то же самое, хотя я его не тестировал.

Смежные вопросы