Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вложенные формы [D7, WinXP]


Страницы:   1 2

Serega_61 ©   (2007-05-24 17:31:00) 

Доброго времени суток.
Мне нужно сделать вложенные формы, одна в дгругую (как в фотошопе например). Вопрос конечно детский, но просто ниразу с этим не сталкивался, вот и решил спросить сразу у знающих людей. Если есть какие либо ссылки, киньте плз сюда.

Просто у меня на разных формах, разные компоненты. А я хочу сделать для всех форм единую панель управления. Поэтому хочу создать главную ( с панелью) и вставлять в эту форму дочерние. Все готово, осталось ток связать формы, подскажите как это сделать ;)


Serega_61   (2007-05-25 13:04:00) [21]

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

а насчет [14], там нужно фокус дать форме (что бы он дочернее окно растянул потом по всем у размеру родительского), просто у меня нет ни едитов, ничего такого на форме, поэтому фокус автоматически не переходит.


{RASkov}   (2007-05-25 12:55:00) [22]

> Вначале все дочерние формы имеют стиль fsNormal. Потом перед
> разворачиванием определенной делаю стиль fsMDIChild. Что
> бы закрыть, опять нормал и висибл фалс.

Зачем окнам стиль-то по ходу программы менять?
Ты что-то не по той дороге идешь... и [14] сюда же..


Serega_61   (2007-05-25 12:26:00) [23]

м... вот еще одна проблемка возникла. Ставлю Максимайзед. и потом дочерний стиль.
у меня основная форма изночально развернута не на весь экран, потом если развернуть, то дочерняя форма будет не на весь размер, а в размер, которы был до этого. Если на дочерную форму поставить фокус( клинкнуть мышкой) и повторить, то она разворачивается уже на весь размер родительского окна.

Как можно программно это сделать, просто в OnShow ставлю SetFocus, пишет ошибку.


Dilmo   (2007-05-25 05:48:00) [24]

используй Form.Close и без всяких визиблов
ну и можно еще ивент прописать OnClose
Action := caFree; чтобы убивалась форма при закрытии


Dilmo   (2007-05-25 05:46:00) [25]


> Что бы закрыть, опять нормал и висибл фалс.

а зачем возвращать в нормал ?


Serega_61   (2007-05-24 21:38:00) [26]

Угу рантайм все гуд, вот токо мерцание немного напрягает... просто visible нельзя трогать пока не уберешь FormStyle на fsNormal. Хз как от мирцания избавиться.


DVM   (2007-05-24 21:16:00) [27]


> tesseract ©   (24.05.07 17:44) [4]


> А как в одну форму вставить в рантайм другую? А вот фрейм
> перемещая хоть в одну форму, хоть во вторую :-)

Так и форму можно одну в другую :) Только автору вопроса MDI надо однозначно.


Serega_61   (2007-05-24 21:07:00) [28]

Всем огромное спасибо) привел к более менее нормальному виду) ток пришлось немного обойти.
Вначале все дочерние формы имеют стиль fsNormal. Потом перед разворачиванием определенной делаю стиль fsMDIChild. Что бы закрыть, опять нормал и висибл фалс. Только при закрытиии происходит мигание экрана, форма стоит wsMaximized и поэтому когда делаю ситьль она растягивается, и ток потом инвиз. Как можно избежать этого мерцания?)


{RASkov}   (2007-05-24 19:30:00) [29]

> [7] Serega_61   (24.05.07 19:23)

См [6]
+
У главной стиль формы выставь fsMDIForm, у дочерних - fsMDIChild


Serega_61   (2007-05-24 19:23:00) [30]

м... ну я создаю просо главную форму, и потом file-new-form.


McSimm_   (2007-05-24 17:57:00) [31]


> создать главную ( с панелью) и вставлять в эту форму дочерние.

MDI ?


Serega_61   (2007-05-24 17:52:00) [32]

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


tesseract   (2007-05-24 17:44:00) [33]


> ИМХО лучше уж формы, а не фреймы


А как в одну форму вставить в рантайм другую? А вот фрейм перемещая хоть в одну форму, хоть во вторую :-)


DVM   (2007-05-24 17:37:00) [34]


> а фреймы - они для этого и сделаны.

ИМХО лучше уж формы, а не фреймы, тем более, что отличий никаких, а формы удобнее.


Jeer   (2007-05-24 17:36:00) [35]


> Serega_61   (24.05.07 17:31)


Сделай базовую форму, размести в репозитории и наследуй дочерние.


tesseract   (2007-05-24 17:33:00) [36]


> и вставлять в эту форму дочерние. Все готово, осталось ток
> связать формы, подскажите как это сделать ;)


Тебе нужны не формы, а фреймы - они для этого и сделаны.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо