|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.11.2014, 11:54 | #1 |
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
Координаты формы при запуске
Делфист из меня так себе, поэтому могу запросто чего-то не понимать. Столкнулся с неприятной (для меня) вещью. При старте программы, конкретно, в файле проекта (project->view source) после создания форм вписана процедура инициализации глобальных переменных из отдельного модуля. Там кроме всего прочего в поля одной структуры заносятся данные, среди них положение формы. Изначально (в дизайн тайме) ее position установлена в poScreenCenter, и значения Top и Left имеют нулевые значения. Но мне (почему-то) казалось, что при запуске там будут текущие координаты на экране, просчитываемые исходя из установки (poScreenCenter). Ан нет. Нули так и остаются до первого перемещения формы по экрану. Написать свою функцию расчета положения формы по центру экрана при старте мне труда никакого не составляет, но странно это. Зачем установка этого свойства устанавливает координаты формы в ноль? Где смысл?
|
25.11.2014, 12:08 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Не понял что смутило...
В дизайне у тебя координаты в нуле, но выставлено poScreenCenter, так? Тогда проблем нет - координаты высчитаются самостоятельно когда форма появится на экране, и программа разместит ее по центру.
I'm learning to live...
|
25.11.2014, 12:13 | #3 |
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
Так вот и смутило, что координаты высчитываются, форма появляется по центру, но значения Top и Left формы остаются равными нулю вплоть до ее перемещения/ресайза.
|
25.11.2014, 12:30 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а в каком событии вы считываете координаты?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
25.11.2014, 12:33 | #5 | |
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
В первом сообщении есть:
Цитата:
|
|
25.11.2014, 12:43 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
В OnActivate прочитайте Left и Top
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
25.11.2014, 12:49 | #7 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
25.11.2014, 13:03 | #8 | ||
Пользователь
Регистрация: 15.11.2014
Сообщений: 75
|
Цитата:
Цитата:
Код:
|
||
25.11.2014, 13:26 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Мало ли создана, она еще не отцентрирована, и даже не в OnShow, а именно в OnActivate. Проверить трудно?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
25.11.2014, 13:28 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Обьяснять наверное не стану, просто еще раз намекну на совет Аватара.
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при запуске формы ввода на MAC OS | Hoochara | Microsoft Office Excel | 4 | 14.07.2012 15:52 |
Проблема при запуске формы в Delphi | Dissembler7 | Помощь студентам | 1 | 19.04.2012 08:00 |
Ошибка при запуске динамической формы | Orchestroman | Общие вопросы Delphi | 4 | 24.03.2012 23:51 |
Изменение разрешения при запуске формы | artemavd | Общие вопросы Delphi | 2 | 16.07.2009 18:48 |
Координаты формы при различном разрешении экрана | Fataller | Помощь студентам | 13 | 28.03.2009 10:51 |