![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Foley |
|
|||
![]() Фсемба Яцца ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 31.1.2006 Где: Россия, Арх.обл Репутация: 2 Всего: 7 |
можно ли сделать как нибудь, чтоб дочернее окна программы сворачивалось не внизу главной формы, а в тулбаре или контрол баре, или панели? (у меня все дочерние окна алклиент, поэтому при открытии новго дочернего окна не видно свернутых дочерних окон), окна каскадом неудобно. помогите если кто сталкивался...
|
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Можно создать ToolBar и при минимазиции дочерней формы просто создать динамический ToolButton, , в клике которого написать:
-------------------- Ll 2 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
1. Отказываемся от MDI.
2. На главную форму кладем TPageControl. 3. У ребенка делаем BorderStyle = bsNone 4. Для показа формы пишем следующий код:
|
|||
|
||||
| Foley |
|
||||||||||
![]() Фсемба Яцца ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 31.1.2006 Где: Россия, Арх.обл Репутация: 2 Всего: 7 |
Snowy, что-то не получилось толком твою идею доработать, появляются только новые вкладки, они пусты, дочернее окно нигде не появляется (хотя мож что не так сделал). Нашел кое-какое решение вопроса, (благодаря твоей подсказке) но появились проблемы с закрытием дочернего окна. Использовал для этого компоненту TabSet. Не смотрите что в коде много никому не нужных переменных и компонентов, просто мне так легче разбираться. Вопщем рассказываю: Добавил на форму компонент TabSet, сделал его по всему низу:
Переменная IndexMDIChild действует на всю юниту На OnCreate дочернего окна написал следующее:
Создание дочернего окна:
Все вкладка добавлена, теперь, чтобы открыть нужное нам дочернее окно я прописал на клике по TabSet’у:
И все. Но при закрытии формы получается полный геморрой, вот смотрите: На закрытии ребенка пишу:
Пробовал через закрытие по щелчку кнопки:
но если юзер будет закрывать через иконку закрытия формы, вот что мне интересно, если удалить кнопки (BorderIcon) то и форма сделать максимизированной, то получается что при первом щелчке на TabSet’е все формы возвращаются к обычному размеру и делаются каскадом. |
||||||||||
|
|||||||||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Не нужно делать дочернюю форму MDI-формой. Просто создай форму, и сделай:
-------------------- Ll 2 |
|||
|
||||
| Foley |
|
|||
![]() Фсемба Яцца ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 31.1.2006 Где: Россия, Арх.обл Репутация: 2 Всего: 7 |
Guedda, все понил... спасибо за инфу, а я то МДИ юзал... Просто фраза "У ребенка" воспринялась мной как "У дочернего окна"
Это сообщение отредактировал(а) Foley - 18.3.2006, 23:44 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |