Закрытие формы по клавише (проблема)

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: Закрытие формы по клавише (проблема)

Сообщение dunin » 19.10.2010 14:12:38

modjo писал(а):Т.е. вы предлагаете закрывать обо окна при нажатии esc?

C чего это вдруг?
modjo писал(а):Да и не помогает установка z порядка окон (BringToFront (мне кажется вы немного напутали с тем где это надо указать)). Кстати. Заметил такой эффект: когда 2 форма пропадает и если нажать на кнопку в панеле задач, то 1 форма сварачивается и я вижу вторую форму. Если опять нажать появляется первая форма, но тогда приложение недоступно. Надеюсь понятно объяснил.

Ну, собственно как предполагал - так и есть. Просто первая модальная форма не закрывается, а уходит под главную - "третья" форма при закрытии передает фокус главной форме. "Рожается" эта третья форма как?
Аватара пользователя
dunin
энтузиаст
 
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и

Re: Закрытие формы по клавише (проблема)

Сообщение modjo » 19.10.2010 14:41:30

Ёлки палки. Теперь понятно что случилось. На главной форме FormStyle = fsStayOnTop. И я понял почему это стало вдруг так, а не как должно быть FormStyle = fsNormal. Вы не замечали что иногда когда в опциях надо что-то выбрать и вы нажимаете кнопу выпадающего меню, то оно иногда сразу пропадает, а под выбор попадает то что было под курсором. Я уже не первый раз с таким сталкиваюсь. :roll: Видимо когда беребирал настройки и не заметил что случайно оменял данную установку.

Теперь окна закрываются как надо, в нужном порядке.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: Закрытие формы по клавише (проблема)

Сообщение GAMER » 19.10.2010 19:18:02

2 modjo.
Как зоздаете формы, как открываете, и как закрываете?

У меня подобная программа (только закрываю по кнопке, а не по Еск и все Ок)
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Закрытие формы по клавише (проблема)

Сообщение modjo » 19.10.2010 22:51:59

С проблемой я уж разобрался, ответ дал выше.

Формы создаются самым делитанским образом. Т.е. дефолтно. Т.е. когда программа стартует создаются все формы и ждут своего часа, т.е. когда им дадут команду показатся. Много раз слышал, что нужно форму создавать только когда она нужна, а после показа делать freeandnil формы. Даже пытался это реализовать. Но пока безуспешно. Форма после первого раза становится нерабочей. Что я делаю не так я пока не разобрался. Но будет время попробую понят как всё же правильно создавать формы только когда они нужны и как правильно их уничтожать. Но если у вас есть ссылки как это сделать буду признателен. До сего момента видел только примеры на дельфи, и как сказал, с их помощью нужного эффекта достичь не удалось.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Re: Закрытие формы по клавише (проблема)

Сообщение GAMER » 19.10.2010 23:02:14

http://freepascal.ru/forum/viewtopic.php?f=5&t=4887
Здесь обсуждали ошибку и по ходу, как формы создавать.
Аватара пользователя
GAMER
энтузиаст
 
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина

Re: Закрытие формы по клавише (проблема)

Сообщение modjo » 19.10.2010 23:05:46

GAMER
Спасибо, обязательно почитаю.
modjo
новенький
 
Сообщения: 92
Зарегистрирован: 19.07.2009 15:52:10
Откуда: Москва

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 54

Рейтинг@Mail.ru