![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ShowModal
SPeller © (2002-10-10 15:54:00)Заметил такой косячок: При показе модальной формы по Enabled главной должен выставляться в False, однако этого не происходит. Главная лишь переводит фокус на модальную при активизации. Если же сделать вручную установку свойства Enabled, то при закрытии модальной надо ещё и руками активизировать главную. В предыдущих версиях KOL такого не было.
И ещё. Думаю, следует при добавлении новых форм кроме главной автоматически выставлять им Visible в False, как это сделано в VCL, а также я думаю что было бы удобно чтобы при минимизации модальной формы минимизировалась и главная, или её показавшая, если модальных окон несколько.
SPeller (2002-10-26 02:57:00) [1]Вообще, модальность я смотрю хромает
Alexander (2002-10-25 15:20:00) [2]Ещё по модальности: почему когда я вызываю MessageBox с любым флагом модальности сообщение выводится не модально?
Приходится писать так:
Form.Enabled := False;
MessageBox();
Form.Enabled := True;
Form.Focused := True;
SPeller (2002-10-19 00:49:00) [3]
> Alexander © (18.10.02 17:06)
В МЕ тоже самое.
Alexander (2002-10-18 17:06:00) [4]Ещё надо как-то исправить такое поведение: если показана модальная форма и переключиться в другое приложение, то назад переключиться можно только кликнув по этой модальной форме, а должна быть активация даже при клике на задизабленой форме, из которой вызвана модальная - это стандартное поведение Windows.
Да - это всё в NT, в 2000 всё нормально.
Vladimir Kladov (2002-10-14 12:03:00) [5]
> SPeller © (10.10.02 15:54)
> Заметил такой косячок: При показе модальной формы по Enabled
> главной должен выставляться в False, однако этого не происходит.
> Главная лишь переводит фокус на модальную при активизации.
> Если же сделать вручную установку свойства Enabled, то при
> закрытии модальной надо ещё и руками активизировать главную.
> В предыдущих версиях KOL такого не было.
Неправда. Что такое по Enabled ?
> И ещё. Думаю, следует при добавлении новых форм кроме главной
> автоматически выставлять им Visible в False, как это сделано
> в VCL, а также я думаю что было бы удобно чтобы при минимизации
> модальной формы минимизировалась и главная, или её показавшая,
> если модальных окон несколько.
Что такое главная форма? Та, которая первая создалась? А если она
вообще невидима? Что такое "ее показывающая"? Ну какая разница
модальной форме, в каком модуле находится код, который ее оживил? Или предлагается изучать стек возвратов, и анализировать map-файл на предмет, кто вызвал модальную форму? :)
> SPeller © (10.10.02 16:02)
> Модальная форма почему-то закрывается только со 2-го раза.
Надо аккуратнее OnClose обрабатывать. Конечно, могут быть еще какие-то причины. Но вряд ли. И как вы ее закрываете? Правильный метод: Form.ModalResult := value; value <> 0
> SPeller © (10.10.02 16:07)
> Вопрос: можно ли сделать так, чтобы при закрытии модальной
> формы она не уничтожалась, а просто скрывалась из виду и
> происходил выход из ShowModal. Если сделать Hide то главная
> продолжает считать что модальная ещё на экране и усердно
> отказывается принимать фокус.
Конечно. OnClose. Accept := flase; Form.Hide;
Вообще-то демо-примеры есть.
> SPeller © (10.10.02 16:11)
> А активизировать главную после закрытия модальной всё-равно
> приходится вручную, даже если закрыть естественным способом.
Это смотря как закрывать.
SPeller (2002-10-13 01:06:00) [6]Н-да.... всё правильно..... трабла была в том что когда я кинул KOLApplet не сделался ребилд проекта, а когда удалил, проект собрался с аплетом, отсюда и пироги такие. Прошу прощения за сотворённое безобразие :-))
Alexander (2002-10-12 22:57:00) [7]А у меня раздаётся именно "ding", когда пытаешься кликнуть на главной форме, хотя я припоминаю случай, когда происходило именно описаноое безобразие и я тогда так и не смог этого повторить.
SPeller (2002-10-12 16:55:00) [8]2 Vladimir Kladov
В FAQ на вашем сайте относительно правильного показа модальной формы, в том случае если форма не должна уничтожаться, сказано что ОБЯЗАТЕЛЬНО должен лежать на форме KOLApplet. Однако описанный там пример, как я уже говорил, не работает как надо. Пробема решается прекрасно в том случае, если вопреки FAQ Applet НЕ используется. Прошу обратить на это внимание.
SPeller (2002-10-12 03:23:00) [9]Сделал всё как в факе, во втором случае, но результат тот же:
1) Главная форма реагирует на действия мыши;
2) При закрытии модальной формы главная не активизируется, и при этом если щёлкнуть на главной мышкой, то она усердно передаёт фокус вникуда.
SPeller (2002-10-12 02:44:00) [10]Но всё-равно, главная форма НЕ должна реагировать на действия мыши, а должна издавать ding. Она же просто при щелчке на ней переводит фокус на модальное окно, вполне правильно реагируя на двойной щелчок по заголовку - изменяет свой размер.
Alexander (2002-10-11 10:40:00) [11]А я все формы, кроме главной, создаю динамически и после закрытия удаляю. А модально показываю их как написано в факе - всё работает нормально.
SPeller (2002-10-10 16:11:00) [12]А активизировать главную после закрытия модальной всё-равно приходится вручную, даже если закрыть естественным способом.
SPeller (2002-10-10 16:07:00) [13]Вопрос: можно ли сделать так, чтобы при закрытии модальной формы она не уничтожалась, а просто скрывалась из виду и происходил выход из ShowModal. Если сделать Hide то главная продолжает считать что модальная ещё на экране и усердно отказывается принимать фокус.
SPeller (2002-10-10 16:02:00) [14]Модальная форма почему-то закрывается только со 2-го раза.