![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение положения объектов в зависимости от размера формы [D5, D6, D7, 95/98, ME, XP]
Temp_Yuriy © (2007-04-07 15:40:00)Здравствуйте.
Пишу приложение, в котором нужно менять положение объектов, в зависимости от изменения размеров формы. Скиньте пожалуйста фрагмент кода (хотя бы от положения справа), а дальше я сам по аналогии
MsGuns (2007-04-07 22:21:00) [1]>default © (07.04.07 16:20) [3]
>в общем случае, у формы есть событие OnSize
OnResize
>Temp_Yuriy (07.04.07 21:56) [5]
>нужен всетаки пример кода
Пропорциональное автовыравнивание котнролов при изменении размеров контейнера (формы, панели, групбокса и т.д.) делается с помощью "многоэтажных" контейнеров, выравненных друг относительно друга, а также относительно контейнера-носителя с помощью единственного свойства Align.
Никакого кода при этом не потребуется
Temp_Yuriy (2007-04-07 21:56:00) [2]нужен всетаки пример кода
default (2007-04-07 16:27:00) [3]ты мыслишь в терминах устаревшего подхода
сейчас рулит подход событийного программирования
тебе не нужно проверять изменилось-ли состояние чего-либо через определённое время, это что-либо просто извещает тебя когда его состояние поменялось и в ответ на это изменение ты вписываешь свой код
default (2007-04-07 16:20:00) [4]в общем случае, у формы есть событие OnSize реагируя на которое можно задать любое расположение объектов расположенных на форме
default (2007-04-07 16:16:00) [5]может тебе поможет свойство Anchor?
Temp_Yuriy (2007-04-07 16:16:00) [6]Я делаю так:
Form1.TimerOnTimer (Sender : TObject)
begin
Label1.Left :=Form1.Left + 10;
end;
Выглядит очень плохо, но по сути вроде мыслю правильно.
Если кто сталкивался, скиньте кусочек кода, на любом примере.
Читал, что в форме есть такие события: onResent, onPaint, onCanResent