Главная страница
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-51331
Chlavik
2003-09-30 17:06
2003.10.16
TextFile и Tstrings.LoadFromFile


1-51325
User_OKA
2003-10-01 07:32
2003.10.16
Компоненты Delphi 7.0


1-51330
RudeBoy
2003-10-05 20:59
2003.10.16
Как поменять в TShellListView директорию?


1-51265
Нурик
2003-10-07 03:22
2003.10.16
Опять прозрачаная форма


1-51270
Chlavik
2003-10-06 19:07
2003.10.16
Проблемы с AllocateHWnd