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

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

Но проклятые кнопки добавляются не в конец toolbar-а,
а с нулевым индексом становятся впереди (слева) всех ранее созданных.
...
Рейтинг: 0 / 0
13.02.2003, 02:26
    #32105454
falcon_k
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с ToolButton
Привет!
Я тоже с этим бился.
И нашел только одно решение.
Ставлю у tbtnTemp.Left в большое значение
Например tbtnTemp.Left:=500
и он становится последним, если их не так много.
...
Рейтинг: 0 / 0
13.02.2003, 05:12
    #32105461
Natalka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с ToolButton
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
13.02.2003, 09:28
    #32105523
Гость
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с ToolButton
Спасибо за советы, так я и сделал.
Код: 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
13.02.2003, 09:55
    #32105548
Natalka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с ToolButton
интересно, если юзер меняет размер окна, кнопки должны переползать на другую строчку что-ли?
по моему нормальные программы не разрешают менять размер главного окна
делфи то какой?
...
Рейтинг: 0 / 0
13.02.2003, 09:58
    #32105551
Артем1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с ToolButton
А окно Word можно считать окном главной программы, к примеру?
...
Рейтинг: 0 / 0
13.02.2003, 10:08
    #32105559
Natalka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с ToolButton
ну так там нормально списочек выпадает
...
Рейтинг: 0 / 0
13.02.2003, 10:30
    #32105581
Гость
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с ToolButton
Вы видели панель задач в IBExpert-е, например, или в 1С

а версия Delphi - 7

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

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

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

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

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


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