Главная страница
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.03 c
3-1081941984
Flashas
2004-04-14 15:26
2004.04.11
S DBgrid..


6-1079458335
hexbat
2004-03-16 20:32
2004.04.11
ГОСПОДА, ПОМОГИТЕ С XML - ЗАПРОСАМИ !!!


1-1082459605
gauss
2004-04-20 15:13
2004.04.11
Помогите... Регистрация СОМ объекта


14-1079585165
Алина
2004-03-18 07:46
2004.04.11
Помогите, горит лабораторная!


1-1079952775
SMT
2004-03-22 13:52
2004.04.11
Исходники Quick report: файл qrprev.pas