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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2012, 13:43   #1
leklerk
Пользователь
 
Регистрация: 17.02.2012
Сообщений: 38
По умолчанию Событие OnResize формы

Добрый день! Мне нужно, чтобы некий код выполнялся всякий раз при изменении размеров формы, кроме создания формы. Как отследить создание формы в обработчике события OnResize (или OnCanResize)? Например, можно ли как-то узнать время жизни формы?
leklerk вне форума Ответить с цитированием
Старый 22.04.2012, 13:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Сделай так: В инспекторе объектов убери ссылку на OnResize, а в конце OnCreate пропиши ее подключение: OnResize=Твой обработчик.
Поскольку до вызова OnCreate этот обработчик не будет подключен, соответственно и выполняться он не должен, а после того как ты его подключишь он будет действовать на протяжении жизни формы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2012, 14:12   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Так не поможет, и на OnShow тоже. Все равно первый раз отработает. Можно таким путём пойти
Код:
type
  TForm1 = class(TForm)
    ...
  private
    { Private declarations }
    CountResize: Integer;
  end;

...

procedure TForm1.FormCreate(Sender: TObject);
begin
  CountResize:=0;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
  Inc(CountResize);
  IF CountResize=1 then Exit;
  ...
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.04.2012, 14:12   #4
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

А можно проверить fsShowing in Form1.FormState ?
EUGY вне форума Ответить с цитированием
Старый 22.04.2012, 14:17   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
fsShowing in Form1.FormState
Тоже вариант
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
У динамически созданной формы есть событие OnClick, но само событие не происходит Hunter_bog Компоненты Delphi 25 23.01.2012 23:50
Onresize событие mobilitialex Общие вопросы Delphi 12 14.04.2011 22:30
Не работает OnResize у динамической формы peter12317 C++ Builder 3 28.02.2011 14:56
Событие сворачивание формы KoBRaAndrey Общие вопросы Delphi 7 02.06.2010 10:32
Событие OnResize sting1920 Помощь студентам 6 25.02.2010 20:23