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

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

Работа с формой [D4, D5]


Петр ©   (2003-01-14 09:04:00) 

Здравствуйте.

Знаю, что есть свойство у формы posScreeenCenter, которое позволяет вывести форму (или МеssageBox) в центре экрана, а как мне сделать так, чтобы модальная форма или окно диалога, которую я вывожу была центрирована относительно главной формы или любой другой формы.

В частости, интересует,как вывести окно диалога (Вызванное именно методом Application.MessageBox) по центру, относительно главной формы.

Есть, какие-нибудь API функции или мне вручную координаты просчитывать?


Решение Position:= poMainFormCenter, Position:= poOwnerFormCenter
не работает.

Форма, которую я вызываю, все равно появляется в центре экрана и не позиционируется относительно главной формы. Может быть данное решение работает если формы вручную создавать или когда приложение MDI?


Спасибо.


Position:= poMainFormCenter

или

Position:= poOwnerFormCenter


A2   (2003-01-14 09:27:00) [1]

Дополнение к предыдущему: Form.Position должно быть poDesigned.


A2   (2003-01-14 09:24:00) [2]

procedure AdjustForm(Form : TForm);
var
WorkArea : TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @WorkArea, 0);
Form.Left := WorkArea.Left;
Form.Top := WorkArea.Top;
Form.Width := WorkArea.Right - WorkArea.Left;
Form.Height := WorkArea.Bottom - WorkArea.Top;
end;
//...
procedure TMainForm.FormCreate(Sender : TObject);
begin
AdjustForm(Self);
//...
end;


Наверх

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