Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по расположению формы... [D6, WinXP]


МикроДИП ©   (2006-07-21 15:16:00) 

Есть две формы. Форма 2 открывается из Формы 1 (при помощи свойства Visible). Форма 2 "закрывается" также при помощи свойства Visible (без Close.) В свойстве Position формы 2 указано poMainFormCenter. При первом открывании Формы 2 она располагается по центру Формы 1. А вот потом, если Форму 1 перетащить в другое место, то Форма 2 будет открываться по старому центру Формы 1. Как сделать (без Close для формы 2) чтобы форма 2 всегда открывалась по центру первой формы. Заранее благодарю !


Anatoly Podgoretsky   (2006-07-23 12:14:00) [1]

Это не закрытие, отсюда и проблемы, для закрытия используй Close, а для открытия Open.
При изменении видимости ни какие Left, Top не изменяются


Kolan   (2006-07-22 22:07:00) [2]

В D2006 есть соотв св-во poMainFormCenter или OwnerFormCenter


DiamondShark   (2006-07-22 21:50:00) [3]


> А что здесь не стандартное?

"Стандартное" в данном случае -- "чтоб без кода"
;)
как мне кажется...


Loginov Dmitry   (2006-07-21 15:38:00) [4]

А что здесь не стандартное?


МикроДИП   (2006-07-21 15:27:00) [5]

Ок, спасибо ! Просто думал что есть что-то стандартное...


Loginov Dmitry   (2006-07-21 15:26:00) [6]

> Т.е. только вручную ? Нет никаких методов перечитать положение
> Формы 1 ???


Перед показом выполняй Position = poXXX. Если не будет работать, то [3]


Юрий Зотов   (2006-07-21 15:24:00) [7]

Сорри, немного не так:

Form2.Left := Form1.Left + (Form1.Width - Form2.Width) div 2;
Form2.Top := Form1.Top + (Form1.Height - Form2.Height) div 2;


ORMADA   (2006-07-21 15:24:00) [8]

1!
чем тебе не метод?
Юрий Зотов дело говорит!
поставил перекрёсные юсесы и задай позиции
не ищи проблемы где их нет...


Юрий Зотов   (2006-07-21 15:22:00) [9]

> МикроДИП   (21.07.06 15:18) [2]

Зачем его перечитывать, если оно и так всегда известно? Form1.Left и Form1.Top.

Form2.Left := (Form1.Width - Form2.Width) div 2;
Form2.Top := (Form1.Height - Form2.Height) div 2;


МикроДИП   (2006-07-21 15:18:00) [10]

Т.е. только вручную ? Нет никаких методов перечитать положение Формы 1 ???


Юрий Зотов   (2006-07-21 15:17:00) [11]

Устанавливать позицию формы перед ее показом.


Наверх

Титульная страница Поиск, карта сайта Написать письмо