Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ShowModal уже открытое окно [D7, WinXP]


heady ©   (2005-07-02 22:24:00) 

Hi, All! Есть PopupMenu, по клику по одному из пунктов которого происходит Form3.ShowModal; но если попытаться вторично вызвать уже открытое окно, то вылезает ошибка: "Cannot make a visible window modal". Не подскажите, как сделать чтобы если окно уже открыто, то ему просто передавался фокус, а не вылетала ошибка? или может оно просто закрывалось и открывалось вновь... Зарание благодарен.


isasa   (2005-07-02 23:24:00) [1]

Логичнее
begin
Form3.Visible:=true;
Form3.SetFocus;
end;
что-бы не поймать
Can not focus in non visible component


heady   (2005-07-02 22:39:00) [2]

сосбо корректно получилось:
if not Form3.Visible then Form3.ShowModal else
begin
Form3.SetFocus;
Form3.Visible:=true;
end;


lookin   (2005-07-02 22:38:00) [3]

[7] Eraser ©   (02.07.05 22:36)

Пусть так...


Eraser   (2005-07-02 22:36:00) [4]

lookin ©   (02.07.05 22:31) [4]
if not Form3.Visible then Form3.Visible:=true;


А где Modal?

if not Form3.Visible then
 Form3.ShowModal;


lookin   (2005-07-02 22:35:00) [5]

[5] heady   (02.07.05 22:34)

Это ирония?


heady   (2005-07-02 22:34:00) [6]

lookin ОНО! THX!


heady   (2005-07-02 22:31:00) [7]

Спасибо!


lookin   (2005-07-02 22:31:00) [8]

if not Form3.Visible then Form3.Visible:=true;


Eraser   (2005-07-02 22:26:00) [9]

heady   (02.07.05 22:24)
окно уже открыто, то ему просто передавался фокус


Фокус итак всегда у модального окна.


Eraser   (2005-07-02 22:25:00) [10]

heady   (02.07.05 22:24)

Проверять Form3.Visible перед вызовом Form3.ShowModal.


Наверх

Титульная страница Поиск, карта сайта Написать письмо