Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.973 c
1-1079937125
wild_arg
2004-03-22 09:32
2004.04.11
Interface


4-1075662722
DelphiN!
2004-02-01 22:12
2004.04.11
Копировать файл


1-1080056808
Andrew
2004-03-23 18:46
2004.04.11
Model Family Stepping???


1-1082424190
kaif
2004-04-20 05:23
2004.04.11
Как узнать текущий номер билда?


1-1082500848
Cref12
2004-04-21 02:40
2004.04.11
Image




   Наверх