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

Вниз

Вопросы по MDI Application   Найти похожие ветки 

 
real_dimedrol   (2003-10-07 01:01) [0]

Первый раз в жизни взялся написать MDI приложение и сразу возникла кучка вопросов, на которые ответов пока не нашел. Помогите разобраться!
1.Как во время runtime-а при создании дочернего окна задать его новое положение\размеры до того, как оно будет показано на своем прежнем месте с прежними размерами?
классически делаю так:
mdichildform:=tmdichildform.create(application);
mdichildform.height:=...
mdichildform.width:=...
mdichildform.left:=...
mdichildform.top:=...
Но в этом случае окно сначала появляется на старом месте, а потом уже, естественно, на новом и с новыми размерами, что не красиво.
2.Откуда берутся размеры\положение для дочерних окон? Прога не обращает внимания на те параметры, которые я задаю в Object Inspector. Даже когда Position=poDesigned. Такое ощущение, что главное окно отдает дочернему определенную часть себя и не больше, по крайней мере как отдать больше в design-time я не понял. И положение во время разработки изменить не удается.
3.Есть ли фича для автоматического позиционирования дочерних окон при изменении размеров главного или нужно их таскать\уменьшать программно?
4.Как сделать, чтобы некоторые дочерние окна были topmost? Например как в фотошопе панели инструментов, чтобы их нельзя было закрыть другими окнами?


 
Yttrium ©   (2003-10-07 02:32) [1]

1. Допустим в пункте неу так:
mdichildform:=tmdichildform.create(self);
тогда в обработчике Show чилда:
SetBounds(12,34,67,80);
а в клосе action := caFree;
2. Жестокая правда.
3. ArrangeIcons; Tile; Cascade; и тд. (если я правильно понял)
4. В фотошопе панели инструментов не дочерние окна. И вообще если неизменяет склероз фотошоп вааще не мдаяй.


 
KSergey ©   (2003-10-07 08:05) [2]

MDI интерфейс не подразумевает управление размером и положением окнами внутри клиентской части главного окна. Это указывает либо пользователь, либо система. Все.
А по 4 Yttrium сказал верно: панели интсрументов не имеют никакого отношения к MDICahild окнам MDI-приложения.


 
Hooch ©   (2003-10-07 08:41) [3]

что б избавится от эффекта 1 надо в OnCreate написать

Exclude(FFormState,fsVisible);
.. меняем размер



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
1-51337
Dionis
2003-09-27 18:11
2003.10.16
Разворачивание окна чужой формы


3-51096
Filat
2003-09-19 10:33
2003.10.16
SQL выборка и переход на эту запись в DataSet


1-51297
Seldon
2003-10-05 22:00
2003.10.16
TPropertyEditor


3-51139
Zn
2003-09-24 17:55
2003.10.16
Как подключиться к удалённому InterBase-серверу


14-51464
Dimaz-z
2003-09-29 15:49
2003.10.16
Юзвери...