powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Смена модальных окон
8 сообщений из 8, страница 1 из 1
Смена модальных окон
    #39539361
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите как быть.
Есть основное окно приложения(форма1), на нем грид и датасурс. Из него по клику по гриду вызывается модальное окно(форма2) для редактирования позиции из бд. Я хочу, чтобы из (форма2) вызывалась (форма3) и чтобы она была тоже модальной, и второе окно(форма2) закрывалось при этом.

Т.е. чтобы одно модальное окно сменялось другим.

Если сделать обработчик
в ОнШоу формы 3
Код: pascal
1.
2.
3.
   
if Form3.Showing then
    Form3.Close;


то он все равно не работает.
Подскажите как быть?
...
Рейтинг: 0 / 0
Смена модальных окон
    #39539362
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во второй форме после показа третьей закрывай вторую.
...
Рейтинг: 0 / 0
Смена модальных окон
    #39539365
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
простой способ

Код: pascal
1.
2.
3.
4.
5.
procedure TForm1.B1Click(Sender:TObject)
begin
  f2.ShowModal;
  f3.ShowModal;
end;
...
Рейтинг: 0 / 0
Смена модальных окон
    #39539368
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,
Не работает такое.

Вот нашел кое что, может кому надо будет

процедура вызова в главной форме:
Код: pascal
1.
2.
3.
4.
begin
   Form2.ShowModal;
   if Form2.ModalResult=mrOk then Form3.ShowModal
end;


На второй форме кнопка, которая открывает 3-ю форму должна иметь ModalResult=mrOk.
...
Рейтинг: 0 / 0
Смена модальных окон
    #39539376
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666> Я хочу, чтобы из (форма2) вызывалась (форма3) и чтобы она
Валерий666> была тоже модальной, и второе окно(форма2) закрывалось при этом.

В какой момент формы2 вызывалась форма3?
Из модальной вызвать другую модальную
закрыв при этом предыдущее нельзя - это
нарушение принципов модальности. Но можно
либо псевдомодальность делать, либо, например,
форму2 просто скрыть (Hide, а не Close).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Смена модальных окон
    #39539378
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman> Во второй форме после показа третьей закрывай вторую.

AFAIU, не получится.

Валерий666> Вот нашел кое что, может кому надо будет
>
> процедура вызова в главной форме:

Дык это не из формы2, а из формы3.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Смена модальных окон
    #39539406
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

Там небольшая опечатка, у меня формы 2 и 3 местами поменяны. В любом случае вопрос решился )
...
Рейтинг: 0 / 0
Смена модальных окон
    #39539419
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666,

Код: pascal
1.
2.
3.
4.
begin
  if Form2.ShowModal = mrOk then 
    Form3.ShowModal
end;
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Смена модальных окон
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]