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

derricfle

Member
Joined
month_11_short 20, 2018
Messages
303
Reaction score
53
Age
41
Углядел в 1С интересную фишку. Там для дочерних окон в MDI приложении показываются прямоугольники с надписями внизу главного окна. По типу панели задач в Windows. По-моему, удобно.

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

a101010

Member
Joined
month_3_short 15, 2019
Messages
120
Reaction score
41
Age
46
Углядел в 1С интересную фишку. Там для дочерних окон в MDI приложении показываются прямоугольники с надписями внизу главного окна. По типу панели задач в Windows. По-моему, удобно.

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

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

derricfle

Member
Joined
month_11_short 20, 2018
Messages
303
Reaction score
53
Age
41
Всем спасибо. Я уже сделал сам свою библиотеку, взяв за идею предложение elpik.

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

Decoding

Member
Joined
month_12_short 7, 2009
Messages
91
Reaction score
271
когда то давно, когда передо мной встала такая же задача, я перерыл весь инет. видел и этот компонент (MDITab), но ни одно из решений меня не устроило, по-этому написал свой (к слову получил о нем немало хороших отзывов)... :)
mdipanel.jpg
 

a101010

Member
Joined
month_3_short 15, 2019
Messages
120
Reaction score
41
Age
46
написал свой (к слову получил о нем немало хороших отзывов)... :)

Вот и я про тоже самое. Компонент по своей функциональности получается элементарный. :)
 

Decoding

Member
Joined
month_12_short 7, 2009
Messages
91
Reaction score
271
Компонент по своей функциональности получается элементарный. :)

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

a101010

Member
Joined
month_3_short 15, 2019
Messages
120
Reaction score
41
Age
46
мне нужен был компонент, который бы взял на себя эти задачи.

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

xSer

Member
Joined
month_10_short 12, 2006
Messages
5
Reaction score
0
Location
Odessa
Рекомендую MDIpanel, взят с http://decoding.narod.ru/, долго искал - очень понравился - просто кинуть на форму и все - ничего больше не надо настраивать - сам отображает названия окон

Добавлено через 7 минут
Еще в дополнение - раньше использовал бесплатный компонент с http://www.mitec.cz/mdibg.html
Для полноценного использования надо скачать с этого сайта два бесплатных компонента: MDITab и MDIButtonGroup. Получается красиво но надо ручками еще подописывать код (см. пример в демке)
 
Last edited by a moderator:

opavlo

Member
Joined
month_3_short 18, 2010
Messages
10
Reaction score
2
Age
47
MDIpanel (2.0) вещь хорошая, тока под D7 приходится руками ставить, а при запуске MDI-окна вылетает с ошибкой. хотя под D-XE, все ОК. как бы MDIpanel (2.0) под D-7 запустить?
 

opavlo

Member
Joined
month_3_short 18, 2010
Messages
10
Reaction score
2
Age
47
пасиб, с удовольствием добавлю MDIpanel (2.1) с список моих любимых компонентов
 
Top