Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.11.2019, 19:27
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,445
Версия Delphi: 7
Репутация: выкл
Лампочка Вертикальный ToolBar и Splitter высотой 2 пикселя

Такой вопрос - делаю вертикальный ToolBar (align = alLeft).
Разместил ToolButton'ы.



Но есть проблема - нужно в самом верху перед первым ToolButton сделать небольшой отступ, 2-5 пикселей.

Ставлю стиль ToolButton = tbsSeparator, но у него в любом случае минимальная высота = 22px, поэтому уменьшить стандартным способом не получается.

Сталкивался ли ктото с подобной проблемой?
Ответить с цитированием
  #2  
Старый 20.11.2019, 00:11
Аватар для Guaho
Guaho Guaho вне форума
Начинающий
 
Регистрация: 27.08.2017
Сообщения: 103
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Может просто Panel туда (или под низ) воткнуть?
Ответить с цитированием
  #3  
Старый 20.11.2019, 12:52
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,518
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Похоже, со стандартным турбаром такой фокус не пройдет (баг в компоненте походу). Есть 2 варианта:
1. Использовать ActionToolBar. У него есть свойство Orientation. Ну и в ActionManager'е поставить стиль стандартный.
2. Панельки со SpeedButton'ами
Ответить с цитированием
  #4  
Старый 20.11.2019, 14:23
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,445
Версия Delphi: 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Guaho
Может просто Panel туда (или под низ) воткнуть?
Пробовал, с панелью получается кривизна, тк баттоны к ней сбоку прилепают )
Ответить с цитированием
  #5  
Старый 20.11.2019, 14:26
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,445
Версия Delphi: 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от lmikle
Похоже, со стандартным турбаром такой фокус не пройдет (баг в компоненте походу). Есть 2 варианта:
1. Использовать ActionToolBar. У него есть свойство Orientation. Ну и в ActionManager'е поставить стиль стандартный.
2. Панельки со SpeedButton'ами
Да, странно что они это не продумали.
Судя по https://stackoverflow.com/questions/...54043#25454043 есть проблемы с девайдерами и сплиттерами.

В целом то вертик панель норм, но с этими девайдерами реально беда и сплиттерами - я про отступ сверху. Чем они думали не понятно когда их разрабатывали, т.к. при вертикальном тулбаре нельзя уменьшить их высоту до 5-10 пикселей, а можно только до минимальной, типа 22. Видимо все упирается в картинку девайдера. В ее высоту.

Последний раз редактировалось Admin, 20.11.2019 в 14:31.
Ответить с цитированием
  #6  
Старый 20.11.2019, 20:03
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,518
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

На D10 можно. Но при этом и кнопки уменьшаются, что не есть гут. Ну, по крайней мере, так было при моих экспериментах.
Ответить с цитированием
  #7  
Старый 20.11.2019, 21:19
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,445
Версия Delphi: 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от lmikle
На D10 можно. Но при этом и кнопки уменьшаются, что не есть гут. Ну, по крайней мере, так было при моих экспериментах.
Это да, видел, не устраивает конечно...
Ответить с цитированием
  #8  
Старый 20.11.2019, 23:30
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 7,518
Версия Delphi: 7, XE3, 10.2
Репутация: 49088
По умолчанию

Ну, тогда у тебя те 2 варианта, которые я перечислил.
Ну или отказаться от разделителей или вообще от вертикального тулбара.

Кстати, там на stackOverflow, который ты привел, есть вроде как перекрыть эту отрисовку вручную. Т.е. фактически создать своего наследника, там все подрихтовать. Т.е. такой быстрый метод подмены компонента. Пользовался этим приемом для публикации свойства OnPopup (или что-там) для компонентов, в которых оно не опубликованно, для того что бы свою менюшку прицепить (devExpress, он не совместим со стандартным popupMenu) или для предотвращения появления системного popupMenu.
Ответить с цитированием
  #9  
Старый 21.11.2019, 19:05
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,445
Версия Delphi: 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от lmikle
Ну, тогда у тебя те 2 варианта, которые я перечислил.
Ну или отказаться от разделителей или вообще от вертикального тулбара.

Кстати, там на stackOverflow, который ты привел, есть вроде как перекрыть эту отрисовку вручную. Т.е. фактически создать своего наследника, там все подрихтовать. Т.е. такой быстрый метод подмены компонента. Пользовался этим приемом для публикации свойства OnPopup (или что-там) для компонентов, в которых оно не опубликованно, для того что бы свою менюшку прицепить (devExpress, он не совместим со стандартным popupMenu) или для предотвращения появления системного popupMenu.
Я подумал что не стоит оно того, оставлю как есть )
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:36.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter