Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

MDI-формы вопрос такой........   Найти похожие ветки 

 
Term ©   (2004-04-19 16:46) [0]

Есть две MDI-формы, одна главная, вторая динамически создаётся, проблема в том что после создания второй, первая меняет свой WindowState если она была максимизированна, как это победить


 
KSergey ©   (2004-04-19 16:51) [1]

В смысле вторая при этом становится не wsMaximized? В общем случае - это особенность работы MDI-интерфейса: либо все дочерние - максимиированы, либо все - нет.
думаю, поможет

SecondForm.WindowState := FirstForm.WindowState при создании


 
Term ©   (2004-04-19 17:03) [2]

ну да первая wsNormal, после закрытия второй, а вторая она сразу растягивается в wsMaximized после создания


 
WebErr ©   (2004-04-19 17:08) [3]


> Term ©   (19.04.04 17:03) [2]

Или я ничего не понимаю, или давайте по русски


 
Term ©   (2004-04-19 17:13) [4]

так постараюсь по русски :))))

первая MDI-child форма имеет wsMaximized, далее я создаю вторую
MDI-child форму, она также как и первая сразу становится wsMaximized, после закрытия и уничтожения второй первая становится wsNormal, а хочется чтобы state первой формы не менялся.


 
Term ©   (2004-04-19 17:28) [5]

народ ктонить есть выход тут или нет?


 
WebErr ©   (2004-04-19 17:35) [6]

О, это как раз проблема, которая так недавно доставала моего босса! В VCL такого property нет! А что, разве в событии OnClose первой формы нельзя сотворить всё, что угодно со второй, например SecondForm.WindowState := wsMaximized; ?


 
Term ©   (2004-04-19 17:47) [7]

можно я так и сделал в начале, но просто когда форма каждый раз меняет размер наврядли понравится заказчику.


 
nikkie ©   (2004-04-19 19:56) [8]

>Term
почему ни у кого больше нет таких проблем? может у тебя второе окошко не закрывается, а сворачивается? в FormClose у тебя что написано?

>KSergey
>это особенность работы MDI-интерфейса: либо все дочерние - максимиированы, либо все - нет.
на самом деле ни фига не так, все сложнее.


 
Игорь Шевченко ©   (2004-04-19 21:51) [9]


> на самом деле ни фига не так, все сложнее


А как на самом деле ?


 
nikkie ©   (2004-04-19 22:43) [10]

>А как на самом деле ?
на самом деле, только один MDIChild находится в maximized состоянии, все осталные - в normal. когда переключаешься между окнами - переднее окно переводится в normal, нужное окно выдвигается вперед и переводится в maximized. нетрудно убедиться в этом с помощью spy++. последствия такой реализации - при переключении между окнами постоянно происходят ресайзы, что может иметь неприятные последствия.


 
Игорь Шевченко ©   (2004-04-19 23:50) [11]

[10] nikkie ©   (19.04.04 22:43)

Угу. Spy++ показывает, что при переключении окну посылаются сообщения WM_SIZE с параметром SIZE_MAXIMIZED или SIZE_RESTORED.

Век живи - век учись,
спасибо за науку (с) ИИ



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.083 c
1-1080234355
новичок_из_сыктывкара
2004-03-25 20:05
2004.04.11
Надо чтобы в TEdit можно было вводить только цифры, а если


4-1079696238
Falendysh
2004-03-19 14:37
2004.04.11
OLE Container Problem


14-1081776534
Nick-From
2004-04-12 17:28
2004.04.11
Что можно реально делать с Bluetooth и Wi-Fi в КПК?


9-1065241127
@ndrew
2003-10-04 08:18
2004.04.11
Спрайты и DelphiX...:(((


7-1075190704
XC
2004-01-27 11:05
2004.04.11
Чуть больше, чем мастер ... или работа с ОС XP на низком уровне