![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Движение формы и Resize [D5, Win2k]
Андрусь © (2002-06-25 12:30:00)Уважаемый народ! Таких 2 вопроса. Как ловить движение формы. Почему событие OnResize возникает при отображении формы и что делать с этим.
Спасибо.
Внук (2002-06-25 14:13:00) [1]Андрусь (25.06.02 13:50)
Посмотрите на сайте Анатолия Подгорецкого, там много интересного: www.podgoretsky.com
Игорь Шевченко (2002-06-25 14:13:00) [2]Андрусь (25.06.02 13:50)
Книжка полезная. В сети в электронном виде где-то лежит. Адреса дать не могу - не помню
Андрусь (2002-06-25 13:50:00) [3]>Внук
Обидно,что такой книжки у меня нет :}
Kaban (2002-06-25 13:47:00) [4]Чего непонятного?
Создается форма, устанавливаются ее размеры, она помещается в определенное место экрана. Отсюда и сообщения. Абсолютно нормальное поведение.
Внук (2002-06-25 13:45:00) [5]В книге Петзольда "Программирование для Windows 95" очень подробно это описано, мне понравилось
Андрусь (2002-06-25 13:40:00) [6]>Игорь Шевченко
Просто интерестно,чего этот месседж идет при создании и отображении. Для интереса ставлю проверку в обработчик мессежа FormState и что интерестно сразу идет fsCreating,затем следующий fsShowing..
Если не лень удовлетворите любопытство. Спасибо.
Игорь Шевченко (2002-06-25 13:25:00) [7]Андрусь (25.06.02 13:01)
> Только чего он при создании и отбражении возникает
Стандартное поведение Windows.
Мешать не должно.
Wild (2002-06-25 13:23:00) [8]Ну если уж совсем не хочется работать ручками, то можно и так (да простит меня мой препод):
На FormShow повесить установку глобального флага (isShow) и на OnResize проверять это состояние. Если оно установлено, то не обрабатывать и наооборот. В конце обработчика OnResize, в любом случае, сбрасывать флаг.
Андрусь (2002-06-25 13:01:00) [9]Спасибо! Только чего он при создании и отбражении возникает. Мне нужен обработчик только на сами события.
С уважением,
Игорь Шевченко (2002-06-25 12:38:00) [10]Событие OnResize возникает при обработке сообщения WM_SIZE. При создании окна это сообщение всегда ему посылается.
Движение формы можно поймать обработкой сообщения WM_MOVE или WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED
С уважением,