![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вложенные формы [D7, WinXP]
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]
> и вставлять в эту форму дочерние. Все готово, осталось ток
> связать формы, подскажите как это сделать ;)
Тебе нужны не формы, а фреймы - они для этого и сделаны.