![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с формой [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;