Delphi: сделать список дочерних окон (MDI) в виде закладок

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
Углядел в 1С интересную фишку. Там для дочерних окон в MDI приложении показываются прямоугольники с надписями внизу главного окна. По типу панели задач в Windows. По-моему, удобно.

Никто не делал такую штуку на Delphi? Какой опыт у кого?
 

a101010

Местный
Регистрация
15 Мар 2010
Сообщения
118
Реакции
41
Credits
224
Углядел в 1С интересную фишку. Там для дочерних окон в MDI приложении показываются прямоугольники с надписями внизу главного окна. По типу панели задач в Windows. По-моему, удобно.

Никто не делал такую штуку на Delphi? Какой опыт у кого?

Ну это очень просто сделать. Берешь любой Bar и в момент показа окна (событие OnShow) генерируешь на этом Bar'е кнопку привязанную к этому окну. Вот и все. :)
 

elpik

Местный
Регистрация
12 Дек 2008
Сообщения
17
Реакции
8
Credits
28
уже 100 лет есть готовые компоненты:
пользуюсь вот этим...
 

Slavan2009

Местный
Регистрация
24 Сен 2008
Сообщения
4
Реакции
11
Credits
8
использую TAdvOfficeMDITabSet из TMS Component Pack
 

demav

Местный
Регистрация
20 Ноя 2008
Сообщения
97
Реакции
13
Credits
158
Всем спасибо. Я уже сделал сам свою библиотеку, взяв за идею предложение elpik.

Правда, в компоненте elpik какие-то необъяснимые глюки, я так и не смог их побороть, несмотря на то, что код открытый. Но это к делу не относится.
 

Decoding

Местный
Регистрация
7 Дек 2009
Сообщения
91
Реакции
274
Credits
176
когда то давно, когда передо мной встала такая же задача, я перерыл весь инет. видел и этот компонент (MDITab), но ни одно из решений меня не устроило, по-этому написал свой (к слову получил о нем немало хороших отзывов)... :)
mdipanel.jpg
 

Decoding

Местный
Регистрация
7 Дек 2009
Сообщения
91
Реакции
274
Credits
176
Компонент по своей функциональности получается элементарный. :)

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

a101010

Местный
Регистрация
15 Мар 2010
Сообщения
118
Реакции
41
Credits
224
мне нужен был компонент, который бы взял на себя эти задачи.

И здесь я тоже абсолютно согласен! Зачем придумывать то, что уже сто раз кто-то придумал! Но т.к. я в создании компонентов полный "чайник", то я наверное написал бы свой. Типа использовал бы этот случай для освоения для себя чего-то нового. :)
 

xSer

Турист
Регистрация
12 Окт 2006
Сообщения
5
Реакции
0
Credits
10
Рекомендую MDIpanel, взят с Для просмотра ссылки Войди или Зарегистрируйся, долго искал - очень понравился - просто кинуть на форму и все - ничего больше не надо настраивать - сам отображает названия окон

Добавлено через 7 минут
Еще в дополнение - раньше использовал бесплатный компонент с Для просмотра ссылки Войди или Зарегистрируйся
Для полноценного использования надо скачать с этого сайта два бесплатных компонента: MDITab и MDIButtonGroup. Получается красиво но надо ручками еще подописывать код (см. пример в демке)
 
Последнее редактирование модератором:

opavlo

Турист
Регистрация
18 Мар 2010
Сообщения
10
Реакции
1
Credits
20
MDIpanel (2.0) вещь хорошая, тока под D7 приходится руками ставить, а при запуске MDI-окна вылетает с ошибкой. хотя под D-XE, все ОК. как бы MDIpanel (2.0) под D-7 запустить?
 

Decoding

Местный
Регистрация
7 Дек 2009
Сообщения
91
Реакции
274
Credits
176
Запускай, все исправлено, версия 2.1 работает стабильно!
 

opavlo

Турист
Регистрация
18 Мар 2010
Сообщения
10
Реакции
1
Credits
20
пасиб, с удовольствием добавлю MDIpanel (2.1) с список моих любимых компонентов