Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2010, 00:20   #1
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию изменение позиции form1

не пойму.. при нажатии на кнопку делаю:
Код:
form1.left:=100;
form1.top:=100;
а форма как была на своем месте, так и остается.
или надо еще какую функцию обновления формы вызывать?
mosq вне форума Ответить с цитированием
Старый 07.02.2010, 00:31   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Где вы сей волшебный код вызываете, в каком-таком событии ?
А что у вас в Position формы стоит ? Небось - poScreenCenter ? Или poDesktopCenter ?
А какие события для формы определены вами ?
Если ничего из этого... то это глюк - перезапустите Дельфи.
А может, она у вас там и стоит - на сотенках ? Вы ее сдвиньте куда-нибудь вручную сначала. Двигается ?

Последний раз редактировалось mihali4; 07.02.2010 в 00:36.
mihali4 вне форума Ответить с цитированием
Старый 07.02.2010, 00:39   #3
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

Цитата:
Где вы сей волшебный код вызываете, в каком-таком событии ?
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.left:=100;
form1.top:=100;
end;
У нас принято оформлять код специальным тэгом - при помощи кнопочки "#".
Только...
И не значком #.
И не РНР-кодом.
И не значком цитаты.
И не собственными "ручками".
Рекомендую. Помимо общих правил форума есть и дополнения к ним в каждом разделе...
Модератор



Цитата:
А что у вас в Position формы стоит ? Небось - poScreenCenter ? Или poDesktopCenter ?
poDesktopCenter
из-за него чоль? сделал специально, чтоб форма в центре появлялась при загрузке. как еще?
Цитата:
А какие события для формы определены вами ?
никаких. пустая форма с кнопкой.
Цитата:
А может, она у вас там и стоит - на сотенках ? Вы ее сдвиньте куда-нибудь вручную сначала. Двигается ?
не, не на сотках стоит. двигается нормально.

Последний раз редактировалось mihali4; 07.02.2010 в 14:37.
mosq вне форума Ответить с цитированием
Старый 07.02.2010, 00:49   #4
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Все отлично работает. Даже если Position формы выставить в poScreenCenter или poDesktopCenter.

У меня тоже. (Я ж говорю - глюкануло у ТС)
Михалыч.
Будь проще и люди к тебе потянутся

Последний раз редактировалось mihali4; 07.02.2010 в 00:55.
spamer вне форума Ответить с цитированием
Старый 07.02.2010, 00:59   #5
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

похоже на глюк, точно. сейчас заработало.

ладно, но я нашел где дальше опять не хочет менять
при загрузке вставил замену координат в Form1.OnShow , а форма остается на месте. Может надо в OnPaint или OnCreate вставить это?
mosq вне форума Ответить с цитированием
Старый 07.02.2010, 01:27   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

OnActivate, OnPaint, OnResize...
mihali4 вне форума Ответить с цитированием
Старый 07.02.2010, 01:47   #7
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

Попробовал
Цитата:
OnActivate
Он при каждом переключении на прогу передвигает ее на указанные координаты. надо только при загрузке..
Цитата:
OnPaint
так же непонятно. передвинул, а потом во время движений по форме (я уже переместил окно в другую сторону) еще раз взял и передвинул форму на те координаты. не подходит.
Цитата:
OnResize
форма без ресайза. или Вы имеете ввиду, что это событие обрабатывается при создании формы?
mosq вне форума Ответить с цитированием
Старый 07.02.2010, 02:41   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Не понял...
Что нужно-то ?
Чтобы форму как ни двигай, она все равно возвращалась на 100,100 ?
То есть, что бы ее нельзя было сдвинуть ?
Вопросы-то нужно формулировать понятно...
Тогда:
Код:
прописываем
procedure WMMove(var mess:TWMMove);message WM_Move;
...
procedure TForm1.WMMove(var mess: TWMMove);
begin
Left:=100;
Top:=100;
end;

Последний раз редактировалось mihali4; 07.02.2010 в 02:50.
mihali4 вне форума Ответить с цитированием
Старый 07.02.2010, 03:06   #9
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

нет. в итоге мне нужно сделать при закрытии формы - сохранение координат расположения. при открытии - восстановление.
mosq вне форума Ответить с цитированием
Старый 07.02.2010, 08:02   #10
VovanZ
Веб-разработчик
Форумчанин
 
Регистрация: 23.05.2009
Сообщений: 279
По умолчанию

попробуйте добавить form1.update;
VovanZ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение позиции TrackBar при нажатии Button Arxangelname Общие вопросы Delphi 2 10.11.2009 12:50
Нахождение позиции V@mpir Общие вопросы Delphi 9 16.10.2009 16:19
Form1.Caption + Form1.sTabSheet artemavd Общие вопросы Delphi 9 22.09.2009 15:55
Form1 Vladnet Общие вопросы Delphi 4 05.04.2009 15:38
Form1.Hide и Form1.Show... Roof Общие вопросы Delphi 9 13.10.2007 13:33