powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите с ToolButton
16 сообщений из 16, страница 1 из 1
Помогите с ToolButton
    #32105405
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, помогите пожайлуста!!!

Добавляю в runtim toolbutton-ы в toolbar.
Делаю все как в примере
Код: plaintext
1.
tbtnTemp:=TToolButton.Create(toolbar1);
tbtnTemp.Parent:=toolbar1;

Но проклятые кнопки добавляются не в конец toolbar-а,
а с нулевым индексом становятся впереди (слева) всех ранее созданных.
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105454
falcon_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет!
Я тоже с этим бился.
И нашел только одно решение.
Ставлю у tbtnTemp.Left в большое значение
Например tbtnTemp.Left:=500
и он становится последним, если их не так много.
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105461
Фотография Natalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
left можно точно посчитать
tbtntemp.left:=toolbar1.ButtonCount*toolbar1.buttons[0].width;
или если с сепараторами разной длины
for i:=1 to toolbar1.ButtonCount do l:=l+toolbar1.buttons[i-1].width;
tbtntemp.left:=l;

а индекс (если без сепараторов и в листе по порядку)
tbtntemp.ImageIndex:=toolbar1.ButtonCount-1;
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105523
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за советы, так я и сделал.
Код: plaintext
tbtnTemp.SetBounds(toolbar1.Width,toolbar1.Height, tbtnTemp.Width, tbtnTemp.Height);

Но вот еще какая проблемка.
Если в toolbar постепенно добавлять кнопки и его свойства
Wrapable=True, AutoSize=True
то располагает он их чересчур интересно:

Когда заканчивается первая строка и кнопка вылезает за пределы toolbar-а,
то он выводит кнопки в двух строках, но в каждой строке равное их число

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
+ ---------------+
 
| [b1] [b2] [b3]| ->        
+ ---------------+
 
+ ---------------+
 
| [b1] [b2]     |
| [b3] [b4]     |
+---------------+ 

С превышением второй строки еще хуже. Некоторое число кнопок вообще помещаются за рамки toolbar-а, а затем также в три строки с пустым местом справа.

Как с этим бороться, учитывая, что toolbar помимо добавления и удаления кнопок в runtim-е, еще может и изменять свою ширину, если пользователь изменяет соответственно ширину родительского окна, во время чего кнопки опять же автоматом не пойми как перестраиваются.
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105548
Фотография Natalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно, если юзер меняет размер окна, кнопки должны переползать на другую строчку что-ли?
по моему нормальные программы не разрешают менять размер главного окна
делфи то какой?
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105551
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А окно Word можно считать окном главной программы, к примеру?
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105559
Фотография Natalka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну так там нормально списочек выпадает
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105581
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы видели панель задач в IBExpert-е, например, или в 1С

а версия Delphi - 7

Смысл разработки: MDI приложение с собственной панелью задач, где на каждую открытую child-форму отображается своя кнопка.

Может toolbar не самое лучшее средство для реализации, если кто знает подскажите. Заранее благодарен.
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105602
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тейксейра и Пачеко "Borland Delphi 4. Руководство разработчика". Все очень подробно расписано. Глава 24. "Расширение оболочки Windows". Очень хорошо все описано. К сожелению, не знаю где взять в электронном виде. Может кто кинет ссылочку.
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105616
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Артем1

Книжки нету. Может укажешь хоть направление, если не в лом, конечно.
распальцовки и указующие персты чур не рисовать :-)
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105635
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь есть download глав
с 8 по 19 :( и Приложения A, B, C
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105644
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там есть весь код по созданию ToolBar-а, аналогичного Панели задач Windows. Для этого используются там вызовы Win API и т.п. Сканировать, конечно, в лом. Лучше попробуй найти книгу. Там весь код класса есть и примеры использования. Успехов.
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105651
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть только
такая ссылка :(
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105683
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще говоря, если нужно рулить окнами в MDI так по мойму та болванка, которую подготавливает Delphi и все управление помещает в меню, по мойму более чем достаточно....
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32105730
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сравнивая собственную панель задач для child-форм в противовес выпадающему списку открытых окон из меню:
1. Пользователь постоянно видит набор открытых форм
2. Переключение туда-сюда одним кликом мышки

А проблемку я наверное буду решать расстановкой toolbutton-ов через TToolBar.OnAdvancedCustomDraw, когда Stage=cdPrePaint

ps. Билли не зря сделал свою панель задач, а не запихал в меню пуск пункт со всеми открытыми приложениями
...
Рейтинг: 0 / 0
Помогите с ToolButton
    #32106328
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возникает только вопрос, насколько часто нужно переключать окна? может ту площадь экрана которую займут кнопки лучше оставить для рабочего поля???
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Помогите с ToolButton
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]